Daily Archives: June 4, 2008

php利用正则判断链接标签的方法

/* /*要说明一下这个功能 /*这个功能是测试一个(非)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)|(]+href=[\'\"].+?[\'\"][^&gt;]+&gt;.*?$keyword.*?&lt;\/[^&gt;]+&gt;)/"; //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"; echo "$content"; echo "$string";

Posted in PHP & MYSQL | Tagged , | Leave a comment