我有一些需要清理的“不干净”的html字符串。
我想用2个HTML换行符替换“超过2个” HTML换行符。
所以下面的字符串:
$string = 'ytefey soeije hesouhodeseojedowe<br><br>
<br>ioueshe oiwj<br /><br />oijeewje<br /><br> <br> <br>';
最终应该是这样的:
$string = 'ytefey soeije hesouhodeseojedowe<br><br>
ioueshe oiwj<br /><br />oijeewje<br><br> ';
到目前为止,我得到了:
$string = preg_replace('#(<br>|<br />){2,}#i', '<br><br>', $string);
但这并没有考虑换行符和空格。
您可以使用preg_replace()
一个简单的正则表达式:
/(<br>\s*|<br \/>\s*){3,}/i
基本上,它匹配()<br>
或<br />
((<br>|<br \/>)
)前面\s*
至少有零个或三个以上的空格()至少3次以上({3,}
)。
$string = preg_replace("/(<br>\s*|<br \/>\s*){3,}/i", "<br><br>", $string);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句