【发布时间】:2015-06-16 22:05:03
【问题描述】:
我 found a way 使用 php 从 html 字符串中删除所有标记属性:
$html_string = "<div class='myClass'><b>This</b> is an <span style='margin:20px'>example</span><img src='ima.jpg' /></div>";
$output = preg_replace("/<([a-z][a-z0-9]*)[^>]*?(\/?)>/i",'<$1$2>', $html_string);
echo $output;
//<div><b>This</b> is an <span>example</span><img/></div>
但我想保留某些标签,例如 src 和 href。我几乎没有常规表达的经验,因此非常感谢任何帮助。
[也许] 相关更新:这是在数据库上“清理”帖子过程的一部分。我正在遍历所有帖子,获取 html,清理它,并在相应的表上更新它。
【问题讨论】:
-
举个例子会更好。
-
添加了示例。谢谢。
-
html 解析器有什么问题?为什么你更喜欢正则表达式?
-
有太多的方法可以使 html 标记出错,从而导致 regex 出错
-
这种方式更接近我所寻找的,但我肯定会接受更好的方式。