php利用正则判断链接标签的方法
June 4th, 2008
/*
/*要说明一下这个功能
/*这个功能是测试一个(非)HTML 超链接标签,并对其进行替换.
/*要点1:不对链接内的关键字进行替换。写这么一大堆主要是为了实现这个的测试
/*要点2:不对已经有链接的关键字进行替换.
*/
//所需要替换的关键标识 $keyword='bpsky'; //所需替换内容 $replacement='<a href="xx">bpsky</a>'; //源内容 $string ="bpsky 东南西北bpsky<a href='http://www.bpsky.net' >cbpskyc</a>bpsky<a href='http://www.bpsky.net' >bpsky</a>"; //正则 $pattern="/($keyword)|(<a[^>]+href=[\'\"].+?[\'\"][^>]+>.*?$keyword.*?<\/[^>]+>)/"; //preg_replace_callbak的子函数 function subAutoURL($pattern){ global $replacement; //判断第子模式的内容是否去全局内容匹配,如果匹配,说明其为非标签,返回外部导入的替换内容. return $pattern[1]==$pattern[0]?$replacement:$pattern[0]; } //检测与替换 $content = preg_replace_callback($pattern,'subAutoURL',$string); echo "Key :$keyword<br />"; echo "$content<br />"; echo "$string<br />";













Recent Comments