去除内容多余样式php函数
今天给客户做百度小程序,出现数据库里面有多余的样式,比如style=""里面内容,小程序前端又不好过滤,又不能去数据库里面替换,只能后端过滤多余样式进行排版。
代码附上:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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( "/<div[^>]*>/i" , "<p>" , $content ); $content = preg_replace( "/<\/div>/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 ; } |
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。