php过滤html中的其他网站链接的方法(域名白名单功能)
作者:
这篇文章主要介绍了php过滤html中的其他网站链接的方法(域名白名单功能),需要的朋友可以参考下
复制代码 代码如下:
/**
* 过滤外站链接
* @param array $local_domain 本站域名 数组
* @param string $message 文本内容
*/
function replace_outer_links($local_domain_arr, $message) {
$pattern= '/<[^>]*href=[\'\"]http[s]?:\/\/(?!' ;
$i = 0 ;
foreach ($local_domain_arr as $local_domain){
if($i==0){
$pattern .= 'www.' .$local_domain.'|'.$local_domain.'|[\w\_]+\.'.$local_domain ;
}else{
$pattern .= '|www.' .$local_domain.'|'.$local_domain.'|[\w\_]+\.'.$local_domain ;
}
$i++ ;
}
$pattern .=')[^\'^\"]*[\'\"][^>]*>(.+?)<\/a>/is';
return preg_replace($pattern,'$1',$message);
}