返回列表 回复 发帖

PHP过滤串为纯文本的函数

//纯文本
public static function only_text($string,$is_only=true){       
                $string=@trim($string);
                if($string=='')
                        return '';
               
                if($is_only)
                        $string=str_replace(chr(10),'',$string);       
                $search = array ("'<script[^>]*?>.*?</script>'si",  // 去掉 javascript
                                                 "'<div*?>.*?</div>'si",  // 去掉 javascript
                                                 "'<[\/\!]*?[^<>]*?>'si",           // 去掉 HTML 标记
                                                 "'([\r\n])[\s]+'",                 // 去掉空白字符
                                                 "'&(quot|#34);'i",                 // 替换 HTML 实体
                                                 "'&(amp|#38);'i",
                                                 "'&(lt|#60);'i",
                                                 "'&(gt|#62);'i",
                                                 "'&(nbsp|#160);'i",
                                                 "'&(iexcl|#161);'i",
                                                 "'&(cent|#162);'i",
                                                 "'&(pound|#163);'i",
                                                 "'&(copy|#169);'i",
                                                 "'&#(\d+);'e");                    // 作为 PHP 代码运行
       
                $replace = array ("",
                                                  "",
                                                  "",
                                                  "\\1",
                                                  "\"",
                                                  "&",
                                                  "<",
                                                  ">",
                                                  " ",
                                                  '',
                                                  '',
                                                  '',
                                                  '',
                                                  "chr(\\1)");
       
                $string = preg_replace ($search, $replace, $string);
                $save1 = array ("'\['","'\]'");
                $save2 = array ("<",">");
                $string = preg_replace ($save1, $save2, $string);
                return $string;
        }
返回列表