您好,欢迎访问一九零五行业门户网

PHP过滤HTML字符串函数详解_PHP教程

$val) {
//取得a标记中有几个=
$cnt = preg_split(/ *=/i,$val);
$cnt = count($cnt) -1;
//构造匹配正则
$pattern = ;
for($i=1; $i
$pattern .= ( .*=.*);
}
//完成正则表达式形成,如/(.*/i的样式
$pattern = /(.*$tag>)/i;
//取得保留属性
$replacement = match($pattern,$out[0][$key],$keep_attribute);
//替换
$str = str_replace($out[0][$key],$replacement,$str);
}
}
/**
* 说明:构造标签,保留要保留的属性
* 参数:$reg : pattern,preg_match的表达式
* $str : string,html字串
* $arr : array,要保留的属性
* 返回:
* 返回经保留处理后的标签,如
* e.com
*/
function match($reg,&$str,$arr) {
//match
preg_match($reg,$str,$out);
//取出保留的属性
$keep_attribute = ;
foreach($arr as $k1=>$v1) {
//定义的要保留的属性的数组
foreach($out as $k2=>$v2) {
//匹配=后的数组
$attribute = trim(substr($v2,0,strpos($v2,=)));
//=前面的
if($v1 == $attribute) {
//要保留的属性和匹配的值的=前的部分相同
$keep_attribute .= $v2;
//保存此匹配部分的值
}
}
}
//构造返回值,结构如:aadd
$keep_attribute = $out[1].$keep_attribute.($out[count($out)-1]);
//返回值
return $keep_attribute;
}
/**
* 显示字串内容
*/
function show($str,$title=,$debug = true) {
if($debug) {
if(is_array($str)) {
$str = print_r($str,true);
}
$txtrows = count(explode(,$str)) 1;
echo($title.:
.$str.
);
}
}
?>
http://www.bkjia.com/phpjc/486205.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/486205.htmltecharticle?php /******************************************************************** * 流程说明: * 当附合要求的参数传递进filter函数后,filter()函数首先 * 把要字串中所...
其它类似信息

推荐信息