Друзья, не сможете подсказать. Сам уже замотался. Не помогает даже Regex.
В тексте страницы присутствует несколько многострочных блоков такого вида:
<!--
....................
....................
....................
//-->
<div>бла-бла-бла</div>
<!--
....................
....................
....................
//-->
Мне нужно удалить "<!--" и "//--> ", но так, чтобы не пострадали комментарии "<!-- ...... -->", а также другой текст внутри этих блоков и между ними.
Инструкция (?s:(.*|\s*) не помогает, т.к. захватывает весь текст от первого "<!--" до последнего "//--> ".
Надеюсь только на вас...
1. hippp - 20 Июня, 2010 - 17:57:15 - перейти к сообщению
2. Champion - 20 Июня, 2010 - 18:11:27 - перейти к сообщению
preg_replace('#<!--.+//-->#mUsi', '', $src)
(Добавление)
preg_replace('#<!--(.+)//-->#mUsi', '\1', $src) - если внутренности комментария должны остаться. Я не понял из вопроса должны или не должны они остаться
(Добавление)
preg_replace('#<!--(.+)//-->#mUsi', '\1', $src) - если внутренности комментария должны остаться. Я не понял из вопроса должны или не должны они остаться
3. hippp - 20 Июня, 2010 - 18:38:06 - перейти к сообщению
Champion пишет:
preg_replace('#<!--.+//-->#mUsi', '', $src)
(Добавление)
preg_replace('#<!--(.+)//-->#mUsi', '\1', $src) - если внутренности комментария должны остаться. Я не понял из вопроса должны или не должны они остаться
(Добавление)
preg_replace('#<!--(.+)//-->#mUsi', '\1', $src) - если внутренности комментария должны остаться. Я не понял из вопроса должны или не должны они остаться
Champion, огромное спасибо за ответ. Но я наверное непонятно объяснил. Приведенная тобой инструкция всегда захватывает весь текст от первого "<!--" и до "//-->". А ведь первым может идти обычный однострочный комментарий, который трогать не надо. Вот так, например:
<!-- Комментарий -->
<!--
..............
..............
//-->
4. Champion - 20 Июня, 2010 - 18:50:40 - перейти к сообщению
Аа, да. Не так понял.
А так?