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

复制代码 代码如下:

/**

     * 过滤外站链接
     * @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);
    }

时间: 2024-09-21 22:58:12

php过滤html中的其他网站链接的方法(域名白名单功能)_php实例的相关文章

JS实现探测网站链接的方法【测试可用】_javascript技巧

本文实例讲述了JS实现探测网站链接的方法.分享给大家供大家参考,具体如下: 如果想通过程序探测一个网站链接是否存在,可以通过服务器端高级语言编程实现,其实客户端的JavaScript也是可以探测的,下面通过一个技巧来探测网站链接. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&q

PHP批量获取网页中所有固定种子链接的方法_php技巧

本文实例讲述了PHP批量获取网页中所有固定种子链接的方法.分享给大家供大家参考,具体如下: 经常的下载链接比较多的时候,就像一次性将所有的链接添加到迅雷或者电炉,但是没有在这种选项,怎么办,咱是PHPer啊,这事儿难不到咱 且看代码,当然要换成你的,要根据具体情况来做修改. <?php header("content-type:text/html;charset=utf8"); $str = file_get_contents('./ShowFile.asp'); $str1 =

中移动过滤160万个不良网站 封堵71907个域名

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 12月13日消息,来自中国移动的一份统计报告显示,在全国范围内启动"网站不良信息智能管理体系"之后,中国移动已过滤不良网站160万个,封堵淫秽色情网站域名71907个,查处不良IP地址986个.其中,中国移动广东公司已累计扫描识别图片70.4亿张,发现色情图片400多万张. 今年早些时候,中国移动在全国范围内启用&

DreamWeaver中批量删除超级链接的方法

  在线问答网友提问,请问专家DreamWeaver 8中如何批量删除超级链接? 解决办法,依次打开DreamWeaver-编辑-查找和替换(或可直接使用快捷键,Ctrl+F)-搜索范围选择"源代码",在查找框内写入"",替换框内请留空.然后选择"使用正则表达式"前的勾.最后替换全部即可.详细如下图:

PHPCMS V9中QQ登录网站失败问题解决方法

这个故障的原因是PHPCMS V9的QQ登录功能代码中,使用了file_get_contents函数来获取腾讯的https网址,这类网址是通过ssl加密传输的.虽然,我们可以通过为PHP安装openssl扩展,让file_get_contents函数可以获取到内容,但获取到的内容还是加密的,无法正常的解密. 我的解决思路是自己编写一个通过curl读取数据的方法,替换掉PHPCMS原有的方法,具体如下: 首先,找到phpcmsmodulesmemberclassesqqapi.class.php文

解析js中获得父窗口链接getParent方法以及各种打开窗口的方法_基础知识

复制代码 代码如下: //打开模态窗口function dialog(obj){if(obj.url == undefined || obj.url == null){throw new Error("please set obj.url");}var url = obj.url;if(url.indexOf("?")!=-1){url = url+ "&r_=" + Math.random();}else {url = url+ &qu

如何使用php脚本给html中引用的js和css路径打上版本号_php实例

在搜索引擎中搜索关键字.htaccess 缓存,你可以搜索到很多关于设置网站文件缓存的教程,通过设置可以将css.js等不太经常更新的文件缓存在浏览器端,这样访客每次访问你的网站的时候,浏览器就可以从浏览器的缓存中获取css.js等,而不必从你的服务器读取,这样在一定程度上加快了网站的打开速度,又可以节约一下你的服务器流量. 具体文字说明不给大家多说了,下面通过代码实例给大家讲解. 比如 <link rel="stylesheet" type="text/css&quo

PHP中header函数的用法及其注意事项详解_php实例

void header ( string $string [, bool $replace = true [, int $http_response_code ]] ) : Send a raw HTTP header 下面有一些使用header的几种用法: 1.使用header函数进行跳转页面: header('Location:'.$url); 其中$url就是将要跳转的url了. 这种用法的注意事项有以下几点: •Location和":"之间不能有空格,否则会出现错误(注释:我刚

详解WordPress中提醒安装插件以及隐藏插件的功能实现_php实例

提醒用户当前主题需要的插件很多主题都需要一些插件的支持,这时你就需要提醒用户需要安装的插件,本文将教你,怎么在后台显眼的位置提醒用户当前主题要安装的插件. 最终的效果类似下图: 只需要用 admin_notices 钩子,在后台标题下边输出一个警告框,再用 is_plugin_active() 函数判断插件是否启用即可. /** *WordPress 提醒用户当前主题需要的插件 *http://www.endskin.com/plugins-messages/ */ function Bing_