php preg_replace удалить <br>со стилем attr - PullRequest
0 голосов
/ 25 февраля 2011
<br style="clear: both">

Следующее регулярное выражение не работает для меня, что я делаю неправильно?

return preg_replace('#<br[^>]+style="clear:both"[^/>]#is', '',  $output);

спасибо.

Ответы [ 3 ]

1 голос
/ 25 февраля 2011

Если ваша строка всегда:

<br style="clear: both">

Вы можете использовать str_replace вместо:

return str_replace('<br style="clear: both">', '',  $output);

Остерегайтесь, что вы не должныиспользуйте регулярные выражения для манипулирования html.

Вместо этого используйте HTML-анализатор.

1 голос
/ 25 февраля 2011

Вы можете экранировать символы типа = , : , <</strong>, > и т. Д. Примерно так:

<?php    
return preg_replace('#\<br[^>]+style\=\"clear\:both\"[^/>]#is', '',  $output);
?>

Более лучший пример:

<?php
return preg_replace('#\<br*.?\>#is', '',  $output);
?>
0 голосов
/ 25 февраля 2011

Попробуйте это:

#<br *style="clear: *both"/?>#is
...