因为不利于编程。
先说属性:
删除的那些属性,都是可以在 css 中实现的,但是之前设计的不够合理的缘故,导致部分的属性可以采用内联的方式来实现。
想想看,只需要 css 文件来改样式和需要 css 文件和 html 内联属性去改样式,那个更清晰明了。
于是简单的采用一种迭代进步的方式,逐步逐步的将内联的属性给删除掉。
再说标签,这个就麻烦点,有好几点:
第一、这些标签能够被 CSS 实现,那就没必要留着。
第二、这些标签是为了适应浏览器大战而特别加设的,是只支持部分浏览器的标签,这是由于过去浏览器之间的标准混乱导致,而现在不需要了。
第三、有 bug 或是不推荐的标签,比如 frame 标签,HTML5 中不支持 frame 框架,只支持 iframe 框架。
$str = '<span style=\"font-family:\'Arial\',\'sans-serif\'font-size:9pt\">test</span>'
//$str=stripslashes($str)
$str = preg_replace('#<([^>\s/]+)[^>]*>#','<$1>',$str)
echo htmlspecialchars($str)."<br/>"
针对于你提的问题,如果想去掉class和style属性必须对所需要去掉属性的标签增加id以你提供的代码为例,首先需要增加id属性,修改后如下:
<div class="content" id=“testdiv”>
<div id="t1">
文本1
</div>
<p class="bbb" id=“testp”>
文本2.....<font color='#00000'>文本3</font><span style="line-height:24px">文本4</span>
</p>
</div>
然后编写对应js代码,代码如下:
function delClass(){
$("#testdiv").removeClass("content")
$("#testp").removeClass("bbb")
}
上述代码可以去除Class
注:
如果程序为进入页面后调用则需要在body中增加onload方法也就是:onload="delClass()"
如果为点击式触发则在页面增加按钮,对按钮总方法onClick方法指定删除的js方法
希望回答对你有用。