从字符串php regex中删除所有div标签?

Mar*_*unt 0 php regex replace str-replace strip-tags

我在网站上有一个所见即所得.问题是用户正在将大量数据复制到其中,从而留下许多未打开且格式不正确的div标签,这些标签打破了网站布局.

是否有一种简单易行的方法可以去除所有出现的<div></div>

str_replace不起作用,因为一些div有样式和其他东西,所以它需要考虑<div style="some styling"> <div align="center">等.

我猜这可以用正则表达式完成,但是当涉及到那些时,我总是一个初学者.

anu*_*ava 6

最好将DOM用于HTML解析器,但如果您别无选择,只能使用RegEx,那么您可以像这样使用它:

$patterns = array();
$patterns[0] = '/<div[^>]*>/';
$patterns[1] = '/<\/div>/';
$replacements = array();
$replacements[2] = '';
$replacements[1] = '';
echo preg_replace($patterns, $replacements, $html);
Run Code Online (Sandbox Code Playgroud)