我在我的一个项目中使用 TinyMCE (WYSIWYG) 作为默认编辑器,有时它会自动添加<p> </p> , <p> </p>
或 div。
我一直在搜索,但我真的找不到用正则表达式清理任何空标签的好方法。
我尝试使用的代码是,
$pattern = "/<[^\/>]*>([\s]?)*<\/[^>]*>/";
$str = preg_replace($pattern, '', $str);
注意:我也想清除 :(
我在我的一个项目中使用 TinyMCE (WYSIWYG) 作为默认编辑器,有时它会自动添加<p> </p> , <p> </p>
或 div。
我一直在搜索,但我真的找不到用正则表达式清理任何空标签的好方法。
我尝试使用的代码是,
$pattern = "/<[^\/>]*>([\s]?)*<\/[^>]*>/";
$str = preg_replace($pattern, '', $str);
注意:我也想清除 :(
试试
/<(\w+)>(\s| )*<\/\1>/
吧。:)
那个正则表达式有点奇怪——但看起来它可能会起作用。你可以试试这个:
$pattern = ':<[^/>]*>\s*</[^>]*>:';
$str = preg_replace($pattern, '', $str);
不过非常相似。
尝试这个:
<([\w]+)[^>]*?>(\s| )*<\/\1>
您需要多个正则表达式来确保您不会用一个通用的元素消除其他想要的元素。
正如 Ben 所说,您可以使用一个通用正则表达式删除有效元素
<\s*[^>]*>\s*` `\s*<\s*[^>]*>
<\s*p\s*>\s*<\s*/p\s*>
<\s*div\s*>\s*<\s*/div\s*>