>  기사  >  백엔드 개발  >  php正则过滤超链接并判断链接文字是否为网址preg_replace_callback函数用法

php正则过滤超链接并判断链接文字是否为网址preg_replace_callback函数用法

WBOY
WBOY원래의
2016-06-20 13:01:001095검색

php正则过滤超链接并判断链接文字是否为网址preg_replace_callback函数用法

$str = '<a class="style" href="http://www.scutephp.com/" target="_blank">www.scutephp.com</a> <a href="http://www.scutephp.com">cxybl</a> 过滤超链接';
$str = filter_url($str);


函数代码如下:

function filter_url($str){
return preg_replace_callback("/<a[^>]+>(.+?)<\/a>/i","filter_url_callback",$str);
}
function filter_url_callback($matchs){
$str = $matchs[1];
if(!$str) return '';
$arr = array('www.','http://','.com','.cn','.org','.net','.cc');
foreach($arr AS $k=>$v){
if(stripos($str,$v) !==false) return '';
}
return $str;
}


如果超链接的文字为 www.scutephp.com 的网址,也会被过滤掉.但是如果是纯文字的话就保留.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.