Я ищу шаблон preg_replace
, используемый для замены текста, который является обратным к двум линиям. Я хочу, чтобы преобразовать это:Как использовать preg_replace над двумя строками
... </li></ul>
<ul><li> ...
к этому:
... </li>
<li> ...
или это:
... </li><li> ...
Конечно, $pattern = "/<\/ul><ul>/"
и $replacement = ""
производит то, что я ищу если ul
теги находятся в одной строке. Однако, как только появляется новая строка между тегами ul
, шаблон не работает.
Узор $pattern = "/<\/ul>.*<ul>/s"
работы в единичном случае, но это ужасно, когда дело доходит до
... </li></ul>
... THIS IS SOME VALUABLE CONTENT ...
<ul><li> ...
Я знаю, что должен быть \n
, \r
, <br \/>
, или некоторая комбинация, которая должна идти между ul
теги, но я не смог найти правильное решение.
(Я понимаю, что существует потенциально лучшее решение, чем preg_replace
для случая, описанного выше, но оно является одним из ряда шаблонов и заменяет пары, которые я использую итеративно в синтаксическом анализаторе, поэтому я хочу придерживаться его .)