<?phpclass OTagString{ /** * 截取字符串中某一段内容 * @param $str * @param $start_str string 开始字符串或标签提示 * @param $end_str string 结束字符串或标签提示 * @return bool|string */ function get_str($str,$start_str,$end_str){ $start_pos = strpos($str,$start_str)+strlen($start_str); $end_pos = strpos($str,$end_str); $c_str_l = $end_pos - $start_pos; $contents = substr($str,$start_pos,$c_str_l); return $contents; } /** * 过滤掉字符串中所有指定位置的内容 * @param $str * @param $start_str string 开始字符串或标签提示 * @param $end_str string 结束字符串或标签提示 * @return mixed */ function clear_str($str,$start_str,$end_str){ $s = "{".$start_str."[\s\S]*?".$end_str."}si"; return preg_replace($s,"\n",$str); } /** * 指定字符串中内容/标签替换 * @param $string * @param $replacer array 替换的原内容=>现内容的一维数组 * @return mixed */ function stringParser($string,$replacer){ $result = str_replace(array_keys($replacer), array_values($replacer),$string); return $result; } /** * 过滤所有的html标签,保留纯文本格式 * @param $area_str * @return mixed|string */ function clear_html_tags($area_str){ //过滤成纯文本用于显示 if ($area_str!=''){ $area_str = trim($area_str); //清除字符串两边的空格 $area_str = strip_tags($area_str,""); //利用php自带的函数清除html格式 $area_str = str_replace(" ","",$area_str); $area_str = preg_replace("/ /","",$area_str); //使用正则表达式替换内容,如:空格,换行,并将替换为空。 $area_str = preg_replace("//","",$area_str); $area_str = preg_replace("//","",$area_str); $area_str = preg_replace("//","",$area_str); $area_str = preg_replace("/ /","",$area_str); $area_str = preg_replace("/ /","",$area_str); //匹配html中的空格 $area_str = trim($area_str); //返回字符串 } return $area_str; } /** * 其它过滤方法1(过滤html其它标签) * @param $str * @return mixed */ function strFilter1($str){ $str=preg_replace("/\s+/", " ", $str); //过滤多余回车 $str=preg_replace("/<[ ]+/si","<",$str); //过滤<__("<"号后面带空格) $str=preg_replace("/<\!–.*?–>/si","",$str); //注释 $str=preg_replace("/<(\!.*?)>/si","",$str); //过滤DOCTYPE $str=preg_replace("/<(\/?html.*?)>/si","",$str); //过滤html标签 $str=preg_replace("/<(\/?head.*?)>/si","",$str); //过滤head标签 $str=preg_replace("/<(\/?meta.*?)>/si","",$str); //过滤meta标签 $str=preg_replace("/<(\/?body.*?)>/si","",$str); //过滤body标签 $str=preg_replace("/<(\/?link.*?)>/si","",$str); //过滤link标签 $str=preg_replace("/<(\/?form.*?)>/si","",$str); //过滤form标签 $str=preg_replace("/cookie/si","COOKIE",$str); //过滤COOKIE标签 $str=preg_replace("/<(applet.*?)>(.*?)<(\/applet.*?)>/si","",$str); //过滤applet标签 $str=preg_replace("/<(\/?applet.*?)>/si","",$str); //过滤applet标签 $str=preg_replace("/<(style.*?)>(.*?)<(\/style.*?)>/si","",$str); //过滤style标签 $str=preg_replace("/<(\/?style.*?)>/si","",$str); //过滤style标签 $str=preg_replace("/<(title.*?)>(.*?)<(\/title.*?)>/si","",$str); //过滤title标签 $str=preg_replace("/<(\/?title.*?)>/si","",$str); //过滤title标签 $str=preg_replace("/<(object.*?)>(.*?)<(\/object.*?)>/si","",$str); //过滤object标签 $str=preg_replace("/<(\/?objec.*?)>/si","",$str); //过滤object标签 $str=preg_replace("/<(noframes.*?)>(.*?)<(\/noframes.*?)>/si","",$str); //过滤noframes标签 $str=preg_replace("/<(\/?noframes.*?)>/si","",$str); //过滤noframes标签 $str=preg_replace("/<(i?frame.*?)>(.*?)<(\/i?frame.*?)>/si","",$str); //过滤frame标签 $str=preg_replace("/<(\/?i?frame.*?)>/si","",$str); //过滤frame标签 $str=preg_replace("/<(script.*?)>(.*?)<(\/script.*?)>/si","",$str); //过滤script标签 $str=preg_replace("/<(\/?script.*?)>/si","",$str); //过滤script标签 $str=preg_replace("/javascript/si","Javascript",$str); //过滤script标签 $str=preg_replace("/vbscript/si","Vbscript",$str); //过滤script标签 $str=preg_replace("/on([a-z]+)\s*=/si","On\\1=",$str); //过滤script标签 $str=preg_replace("/&#/si","&#",$str); //过滤script标签 return $str; } /** *其它过滤方法2:过滤特殊字符和sql关键字 * @param $str * @return string */ function strFilter2($str){ //特殊字符的过滤方法 $str = str_replace('`', '', $str); $str = str_replace('·', '', $str); $str = str_replace('~', '', $str); $str = str_replace('!', '', $str); $str = str_replace('!', '', $str); $str = str_replace('@', '', $str); $str = str_replace('#', '', $str); $str = str_replace('$', '', $str); $str = str_replace('¥', '', $str); $str = str_replace('%', '', $str); $str = str_replace('^', '', $str); $str = str_replace('……', '', $str); $str = str_replace('&', '', $str); $str = str_replace('*', '', $str); $str = str_replace('(', '', $str); $str = str_replace(')', '', $str); $str = str_replace('(', '', $str); $str = str_replace(')', '', $str); $str = str_replace('-', '', $str); $str = str_replace('_', '', $str); $str = str_replace('——', '', $str); $str = str_replace('+', '', $str); $str = str_replace('=', '', $str); $str = str_replace('|', '', $str); $str = str_replace('\\', '', $str); $str = str_replace('[', '', $str); $str = str_replace(']', '', $str); $str = str_replace('【', '', $str); $str = str_replace('】', '', $str); $str = str_replace('{', '', $str); $str = str_replace('}', '', $str); $str = str_replace(';', '', $str); $str = str_replace(';', '', $str); $str = str_replace(':', '', $str); $str = str_replace(':', '', $str); $str = str_replace('\'', '', $str); $str = str_replace('"', '', $str); $str = str_replace('“', '', $str); $str = str_replace('”', '', $str); $str = str_replace(',', '', $str); $str = str_replace(',', '', $str); $str = str_replace('<', '', $str); $str = str_replace('>', '', $str); $str = str_replace('《', '', $str); $str = str_replace('》', '', $str); $str = str_replace('.', '', $str); $str = str_replace('。', '', $str); $str = str_replace('/', '', $str); $str = str_replace('、', '', $str); $str = str_replace('?', '', $str); $str = str_replace('?', '', $str); //防sql防注入代码的过滤方法 $str = str_replace('and','',$str); $str = str_replace('execute','',$str); $str = str_replace('update','',$str); $str = str_replace('count','',$str); $str = str_replace('chr','',$str); $str = str_replace('mid','',$str); $str = str_replace('master','',$str); $str = str_replace('truncate','',$str); $str = str_replace('char','',$str); $str = str_replace('declare','',$str); $str = str_replace('select','',$str); $str = str_replace('create','',$str); $str = str_replace('delete','',$str); $str = str_replace('insert','',$str); $str = str_replace('or','',$str); return trim($str); }}