php过滤html中的其他网站链接的方法(域名白名单功能)


Posted in PHP onApril 24, 2014
/**
     * 过滤外站链接 
     * @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); 
    }
PHP 相关文章推荐
php5数字型字符串加解密代码
Apr 24 PHP
php UTF8 文件的签名问题
Oct 30 PHP
PHP5中使用DOM控制XML实现代码
May 07 PHP
php正则表达式获取内容所有链接
Jul 24 PHP
php 的反射详解及示例代码
Aug 25 PHP
PHP对象链式操作实现原理分析
Oct 09 PHP
PHP实现的方程求解示例分析
Nov 11 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
原生JS实现Ajax通过GET方式与PHP进行交互操作示例
May 12 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
php导出csv数据在浏览器中输出提供下载或保存到文件的示例
Apr 24 #PHP
smarty模板中使用get、post、request、cookies、session变量的方法
Apr 24 #PHP
php冒泡排序、快速排序、快速查找、二维数组去重实例分享
Apr 24 #PHP
php获取中文拼音首字母类和函数分享
Apr 24 #PHP
PHP获取浏览器信息类和客户端地理位置的2个方法
Apr 24 #PHP
php中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
Apr 24 #PHP
php计算当前程序执行时间示例
Apr 24 #PHP
You might like
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
深入PHP FTP类的详解
2013/06/13 PHP
PHP多进程编程实例
2014/10/15 PHP
php数组去除空值函数分享
2015/02/02 PHP
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
基于jQuery实现模拟页面加载进度条
2013/04/01 Javascript
解析使用js判断只能输入数字、字母等验证的方法(总结)
2013/05/14 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
ExtJS4 表格的嵌套 rowExpander应用
2014/05/02 Javascript
javascript使用call调用微信API
2014/12/15 Javascript
JavaScript中的eval()函数使用介绍
2014/12/31 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
2017/04/13 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
解决Vue不能检测数组或对象变动的问题
2018/02/24 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
JavaScript+HTML5 canvas实现放大镜效果完整示例
2019/05/15 Javascript
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
Python代码的打包与发布详解
2014/07/30 Python
Python中的异常处理学习笔记
2015/01/28 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
Python自动调用IE打开某个网站的方法
2015/06/03 Python
Python基于贪心算法解决背包问题示例
2017/11/27 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
使用Django搭建web服务器的例子(最最正确的方式)
2019/08/29 Python
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
英国家居用品和床上用品零售商:P&B Home
2020/01/16 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
购房协议书范本
2014/04/11 职场文书
个人工作表现评语
2014/04/30 职场文书
感恩之星事迹材料
2014/05/03 职场文书
银行纠风工作实施方案
2014/06/08 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
商务信函英语问候语
2015/11/10 职场文书