Замена с исключением
Реально ли составить регулярку, чтобы в тексте все \n заменялись на <br>, но только не внутри тега [html][/html] ? У меня в новостях реализован автоматический перенос строки, а недавно я стал использовать бб-тег [html] и внутри него проявляются косяки - например, весь html-код приходится писать в одну строку, иначе в коде появляется лишний <br>.
|
Пробовал заменить \n внутри тега [html][/html] на временную строчку: lRkN5a1Bk0QHC32hWWsp - почти сработало. Но моя регулярка заменяет только первый попавшийся \n, а не все. Как сделать чтобы заменяла все - я не знаю.
<?php $text = preg_replace("'\[html\](.*?)\n(.*?)\[\/h tml\]'is", "\[html\]\\1lRkN5a1Bk0QHC32hWWsp\\2\[\/html\] ", $text); $text = str_ireplace("\n", "<br>", $text); $text = str_replace("lRkN5a1Bk0QHC32hWWsp", "\n", $text); ?> |
Freakmeister,
Копать в стороны флага "g". |
Часовой пояс GMT +3, время: 05:05. |