用PHP过滤html里可能被利用来引入外部危险内容的代码。有些时候,需要让用户提交html内容,以便丰富用户发布的信息,当然,有些可能造成显示页面布局混乱的代码也在过滤范围内。
以下为过滤HTML代码的函数:
- function ihtmlspecialchars($string) {
- if(is_array($string)) {
- foreach($string as $key => $val) {
- $string[$key] = ihtmlspecialchars($val);
- }
- } else {
- $string = preg_replace('/&((#(/d{3,5}|x[a-fA-F0-9]{4})|[a-zA-Z][a-z0-9]{2,5});)/', '&//1',
- str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string));
- }
- return $string;
- }
php下过滤HTML代码的函数
- function htmlEncode($string) {
- $string=trim($string);
- $string=str_replace("&","&",$string);
- $string=str_replace("'","'",$string);
- $string=str_replace("&","&",$string);
- $string=str_replace(""",""",$string);
- $string=str_replace("/"",""",$string);
- $string=str_replace("<","<",$string);
- $string=str_replace("<","<",$string);
- $string=str_replace(">",">",$string);
- $string=str_replace(">",">",$string);
- $string=str_replace(" "," ",$string);
- $string=nl2br($string);
- return $string;
- }