今天给客户做百度小程序,出现数据库里面有多余的样式,比如style=""里面内容,小程序前端又不好过滤,又不能去数据库里面替换,只能后端过滤多余样式进行排版。
代码附上:
function KillStyle($content)
{
$content = preg_replace("/STYLE=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/style=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/class=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/id=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/class=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/id=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/lang=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/width=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/height=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/border=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/face=.+?['|"]/i",'',$content);//去除样式
$content = preg_replace("/face=.+?['|"]/",'',$content);//去除样式只允许小写正则匹配没有带 i 参数
$content = preg_replace("/<a[^>]*>/i", "", $content);
$content = preg_replace("/</a>/i", "", $content);
$content = preg_replace("/<p[^>]*>/i", "<p>", $content);
$content = preg_replace("/</p>/i", "</p>", $content);
$content = preg_replace("/<h1[^>]*>/i", "<strong>", $content);
$content = preg_replace("/</h1>/i", "</strong>", $content);
$content = preg_replace("/<h2[^>]*>/i", "<strong>", $content);
$content = preg_replace("/</h2>/i", "</strong>", $content);
$content = preg_replace("/<h3[^>]*>/i", "<strong>", $content);
$content = preg_replace("/</h3>/i", "</strong>", $content);
$content = preg_replace("/<table[^>]*>/i", "<table>", $content);
$content = preg_replace("/<!--[^>]*-->/i", "", $content);//注释内容
$content = preg_replace("/<p[^>]*>/i", "<p>", $content);
$content = preg_replace("/<span[^>]*>/i", "<p>", $content);
$content = preg_replace("/</span>/i", "</p>", $content);
$content = preg_replace("/<(script.*?)>(.*?)<(/script.*?)>/si","",$content); //过滤script标签
$content = preg_replace("/<(em.*?)>(.*?)<(/em.*?)>/si","",$content); //过滤script标签
return $content;
}
转: