Помощник
|
Помогите составить регулярку |
happyhand
|
Сообщение
#1
|
||
|
|
||
|
|||
Mulder_hb |
2.2.2011, 15:19;
Ответить: Mulder_hb
Сообщение
#2
|
|
[PHP]$str = "<p><input...></p><p>text...</p>";
$str = preg_replace('/<p>.*?<input[^>]*>.*?<\/p>/is', "", $str);[/PHP] |
|
|
happyhand
|
Сообщение
#3
|
|
А как теперь сделать наоборот, т.е., оставить input и выкинуть остальное?
|
|
|
happyhand
|
Сообщение
#4
|
|
Вобще-то, в идеале, нужно следующее: весь текст, который идёт после тега <input ...... /> обрезать до скольки-то символов функцией substr.
Хотя нет, текст может быть и до инпута. Короче весь текст, который не инпут, обрезать до, например, 200 символов. |
|
|
Apay |
3.2.2011, 20:33;
Ответить: Apay
Сообщение
#5
|
|
|
простой регуляркой это сделать сложно, придется добавлять модификатор e, то что было предложенно - неверно, проверяется все на простой строке:
[PHP]$str = "<p>text...</p><p><input...></p><p>text...</p><p><input...></p>";[/PHP] вышепредложенный вариант просто вернет пустую строку. для случая, когда нужно оставить с input это выглядит так (на скорую руку, может быть неоптимально): [PHP]$str = preg_replace('#<p>(.*?)</p>#ise', 'strpos("\\1","<input")!==false?"\\0":""', $str );[/PHP] если же нужно убрать все input, то: [PHP]$str = preg_replace('#<p>(.*?)</p>#ise', 'strpos("\\1","<input")===false?"\\0":""', $str );[/PHP] если надо сделать более сложную обработку (обрезку строки и пр.), лучше использовать preg_replace_callback и писать соотв. обработчик
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Как составить уравнение, чтобы назначить цену для товара? | 2 | rownong27 | 762 | 21.3.2024, 12:53 автор: Lumex |
|
Помогите вспомнить рекламного бота Телеграм для обмена рекламой | 0 | Mixatraider | 732 | 21.2.2024, 23:42 автор: Mixatraider |
|
Помогите рещить проблему с монитором. Почему низкое разрешение при подключении монитора через displayport? |
0 | Levels | 1702 | 11.12.2020, 0:48 автор: Levels |
|
Помогите кто нибудь получить партнерку Росбанк! | 7 | heisenberg_mw | 2347 | 7.8.2020, 9:28 автор: heisenberg_mw |
|
Помогите найти тему пожалуйста | 7 | virtas | 12571 | 24.7.2020, 17:02 автор: -JamesSmips- |
Текстовая версия | Сейчас: 25.4.2024, 20:12 |