Я не так хорош в написании регулярных выражений, поэтому прошу помощи.
У меня есть строка HTML моей страницы. Я хочу преобразовать HTML-строку в Google AMP-совместимую страницу.
В котором я хочу заменить некоторые пользовательские теги HTML.
<define:dos> This string explains DOS.</define:dos>
И вывод должен быть только This string explains DOS.
В моей HTML-строке есть несколько строк, начинающихся с <define:
Я пытался удалить их, написав отдельный preg_replace
для каждого тега, который работает как ожидалось:
$html = preg_replace('#<define:wlan>#i', '', $html);
$html = preg_replace('#<define:wifi>#i', '', $html);
$html = preg_replace('#<define:dos>#i', '', $html);
И так далее
Я попробовал что-то, как указано ниже, но не сработало 🙁
$html = preg_replace('#\<define[^\]>*\](.*?)\</define\>#m', "$1", $html);
Я хочу общее решение для этого. Пожалуйста помоги.
Заранее спасибо.
Ты можешь использовать
<(define:[^>]+>)(.*?)<\/\1
и заменить второй захваченной группой, \2
,
Других решений пока нет …