Как обернуть HTML-теги в правильном порядке в php? - PullRequest
0 голосов
/ 19 мая 2019

У меня есть некоторые HTML-коды, которые не идеальны.Например, у меня есть

<b><i>bold and italic</b></i>

Я хочу, чтобы он был обернут в слои, то есть.

<b><i>bold and italic</i></b>

Как я могу сделать это в php?

1 Ответ

0 голосов
/ 19 мая 2019

Мы можем сопоставить два тега открытия / закрытия и провести пальцем по textContent, а затем заменить его на preg_replace:

$re = '/(<.+>)(<.+>)(.+)(<\/.+>)(<\/.+>)/s';
$str = '<b><i>bold and italic</b></i>';
$subst = "$1$2$3$5$4";

$result = preg_replace($re, $subst, $str);

echo $result;

Выход

<b><i>bold and italic</i></b>

enter image description here

RegEx

Если это не было вашим желаемым выражением, вы можете изменить / изменить выражения в regex101.com .

RegEx Circuit

Вы также можете визуализировать свои выражения в jex.im :

enter image description here

...