开胜科技-网站建设专家

售前咨询:点击这里给我发消息 点击这里给我发消息 

技术支持:点击这里给我发消息 点击这里给我发消息 

售后服务:点击这里给我发消息 点击这里给我发消息 

电话:0531-89004900

手机:18660105139

E-mail:service@openwin.cn

编程知识

php 清除html标签,过滤html标签,过滤样式的方法

发布时间:2012-11-16 20:17:46      浏览次数:0

strip_tags($str) 去掉 HTML 及 PHP 的标记
语法: string strip_tags(string str); 
传回值: 字串 
函式种类: 资料处理 
内容说明 :
解析:本函式可去掉字串中包含的任何 HTML 及 PHP 的标记字串。若是字串的 HTML 
 
及 PHP 标签原来就有错,例如少了大于的符号,则也会传回错误。而本函式和 
 
fgetss() 有着相同的功能
 
PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往
 
往清除不了
经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。
 
PHP清除html、css、js格式并去除空格的PHP函数
 
function cutstr_html($string, $sublen)    
 {
  $string = strip_tags($string);
  $string = preg_replace ('/ /is', '', $string);
  $string = preg_replace ('/ | /is', '', $string);
  $string = preg_replace ('/ /is', '', $string);
  
  preg_match_all("/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-
 
\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-
 
\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/", $string, $t_string);   
  if(count($t_string[0]) - 0 > $sublen) $string = join('', array_slice
 
($t_string[0], 0, $sublen))."…";   
  else $string = join('', array_slice($t_string[0], 0, $sublen));
  
  return $string;
 }
解析:这个函数既有去除html标签、css样式、js、空格等格式的功能(格式化html文本
 
)也有截取字符串的功能。
 
 
htmlspecialchars 将特殊字元转成 HTML 格式
语法: string htmlspecialchars(string string); 
传回值: 字串 
函式种类: 资料处理 
内容说明 
解析:本函式将特殊字元转成 HTML 的字串格式 ( &....; )。最常用到的场合可能就
 
是处理客户留言的留言版了。 
& (和) 转成 & 
" (双引号) 转成 " 
< (小于) 转成 &lt; 
> (大于) 转成 &gt; 
此函式只转换上面的特殊字元,并不会全部转换成 HTML 所定的 ASCII 转换。 
 
使用范例 
<FORM ACTION='./../b'la>
<H2>Restaurant Description<H2>
Name of restaurant:
<INPUT TYPE=text NAME="restname" VALUE="<?echo HTMLSpecialChars($restname); 
 
?>"> 
<!-- 变数 $restname 是酱子的 $restname="\"The White Horse\""; -->
<BR>
输入描述 (若您会 HTML,可直接使用): <BR>
<TEXTAREA NAME="descript"><?echo HTMLSpecialChars($descript);?></TEXTAREA> 
<INPUT TYPE=submit>
</FORM> 
 
htmlentities 将所有的字元都转成 HTML 字串 
语法: string htmlentities(string string); 
传回值: 字串 
函式种类: 资料处理 
内容说明 
解析:本函式有点像 htmlspecialchars() 函式,但本函式会将所有 string 的字元都
 
转成 HTML 的特殊字集字串。不过在转换后阅读网页原始码的方面,会有很多困扰,尤
 
其是网页原始码的中文字会变得不知所云,浏览器上看到的还是正常的。
php 去除html标签 js 和 css样式 - 最爱用的一个PHP清楚html格式函数
Function ClearHtml($content) {  
   $content = preg_replace("/<a[^>]*>/i", "", $content);  
   $content = preg_replace("/<\/a>/i", "", $content);   
   $content = preg_replace("/<div[^>]*>/i", "", $content);  
   $content = preg_replace("/<\/div>/i", "", $content);      
   $content = preg_replace("/<!--[^>]*-->/i", "", $content);//注释内容
   $content = preg_replace("/style=.+?['|\"]/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 参数
   return $content;
}
开胜科技微信(openwin-cn)