регулярные выражения php
Здравствуйте, пытаюсь сделать регулярное выражение, которое бы вырезала все тэги кроме <br></br><p></p>
делаю так, но что то не получается $t = "<div>hello</div><b>new text</b><p>this is p</p><br>new string"; echo preg_replace("/<\/?[^(br)|p|>].*?>/","",$t); регулярное выражение уже нашел готовое, пытаюсь доработать и еще вопрос, не пойму почему нужен тут предпоследний символ (?) ? Ведь * показывает, что следует 0 или многое количество любых (.) символов |
Слеши от литеральной ("/…/") нотации внутри строки не надо писать вроде.
? — минимальный квантификатор |
нет это не то! это выражение работает нормально, единственный минус это то, что он оставляет тэг <b> т.к. читает букву b от слова br. Поэтому я взял br взял в скобки, что бы слово читалось как группа. А на счет минимального квантификатора я знаю. Нашел выход, но все равно не знаю на счет br.
"/<\/?[^>|p|(br)]*?>|<b>|<\/b>/" |
http://ru.php.net/strip_tags
Код:
strip_tags($str, '<br><p>'); |
Цитата:
|
всем огромнейшее спасибо. Чувствую себя таким.... оказывается все решается одной строкой кода )))))) :lol:
|
Часовой пояс GMT +3, время: 06:38. |