У меня есть некоторые HTML-коды, которые не идеальны.Например, у меня есть
<b><i>bold and italic</b></i>
Я хочу, чтобы он был обернут в слои, то есть.
<b><i>bold and italic</i></b>
Как я могу сделать это в php?
Мы можем сопоставить два тега открытия / закрытия и провести пальцем по textContent, а затем заменить его на preg_replace:
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;
Если это не было вашим желаемым выражением, вы можете изменить / изменить выражения в regex101.com .
Вы также можете визуализировать свои выражения в jex.im :