Как совместить текст между этими тегами?Regex заменить текст между тегами
<!-- |IFNOT:ARCHIVE_PAGE| -->
some text
<!-- |END:IF| -->
Thanx!
Как совместить текст между этими тегами?Regex заменить текст между тегами
<!-- |IFNOT:ARCHIVE_PAGE| -->
some text
<!-- |END:IF| -->
Thanx!
Это не очень рекомендуется, но
<!-- \|IFNOT:ARCHIVE_PAGE\| -->((\s|.)*?)<!-- \|END:IF\| -->
попробовать это регулярное выражение:
(?<=<!-- \|IFNOT:ARCHIVE_PAGE\| -->)(\s|.)*?(?=<!-- \|END:IF\| -->)
Использование Perl, единственный специальный символ, здесь есть труба '|'. Таким образом, следующее регулярное выражение будет соответствовать (и возвращению из-за захват скобки (+).) Текст, который вы ищете:
{<!-- \|IFNOT:ARCHIVE_PAGE\| -->\s*(.+)\s*<!-- \|END:IF\| -->}s
Обратите внимание, что соответствует регулярному выражению несколько выстилает «S» Изменявшего ДАВАЙТЕ, а \ s * до и после захватных скобок означает, что пробелы (включая разрывы строк) не будут включены в возвращаемое совпадение.
preg_replace("/<body>([\s\S]*.*)<\/body>/",$replace,$origional);
это заменит весь контент между тегами тела.
http://stackoverflow.com/questions/701166/can-you-provide-some-examples-of-why-it-is-hard-to-parse-xml-and-html-with-a-reg – RainHeart257
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags также здесь :) – Sergio
Извините, мне нужно все совпадение со всем блоком. { некоторый текст } соответствует всем текстам этого текста с тегами – Evgeniy