php 正则替换掉网页中所有超链接,过滤网页中所有Url
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-17 11:02:01 浏览: 评论:0
在php中我们经常会需要把字符串中的超级链接地址与url给过滤掉,下面我来利用php正则功能实现替换掉网页中所有超链接与url实例.
正则替换掉网页中所有超链接,代码如下:
- <?php
- $content = file_get_contents('test.html');
- $url = 'http://www.phpfensi.com'; //要换成的新网址
- $preg = '/[s]href=("|')[S]*("|')/i';
- $replace = ' href="' . $url . '"';
- $content = preg_replace($preg, $replace, $content); //正则替换
- create_log('newhtml', $content); //生成新文件
- ?>
下面是写文件操作,代码如下:
- function create_log($filename, $text) {
- if ( strtolower(substr($filename, -4)) != 'html' ){
- $filename .= '.html';
- }
- $filename = dirname ( __FILE__ ) . '/' . $filename;
- if (!file_exists ( $filename )) {
- exec( 'touch '. $filename);
- exec( 'chmod 777 '. $filename);
- }
- $handle = fopen ( $filename, "w+b" );
- $text .= "rn";
- fwrite($handle, $text);
- fclose ( $handle );
- }
下面一个简单的采集功能,代码如下:
- $url ='http://www.phpfensi.com';
- $body=@file_get_contents($url);
- preg_match_all('/href=['"]?([^'"]*)['"]?>(.*)/i',$body,$b);
- $nums = array();
- foreach($b[1] as $u){
- if(in_array($u,$nums)){
- continue;
- }
- $nums[]=$u;
- $title=strip_tags($u);
- echo $title."</br>";
- }
Tags: php 正则替换超链接 过滤Url
- 上一篇:php 汉字正则表达式实例详解
- 下一篇:php 获取网页内的图片地址正则表达式
相关文章
- ·php正则连接中文本程序(2013-11-12)
- ·php验证用户名是否以字母开头与验证密码(2013-11-13)
- ·PHP常用正则表达式汇总(2013-11-13)
- ·三分钟学会PHP正则表达式(2013-11-13)
- ·巧用PHP正则表达式判断IP地址(2013-11-13)
- ·php 判断中英文字符(2013-11-29)
- ·用PHP来验证Email是否正确(2013-12-10)
- ·php用户注册时常用的一些检验函数总结(2014-01-05)
- ·php正则表达式验证邮箱(2014-01-05)
- ·php/js汉字正则表达式总结(2014-01-05)
- ·php中正则匹配用户密码(2014-01-06)
- ·php中ip地址 email格式 电话号码正则验证(2014-01-06)
- ·php如何对手机号码进行验证(2014-01-07)
- ·php 正则提取文章中的图片,并替换、移动图片目录(2014-01-07)
- ·PHP移除字符串超链接文本的正则表达式(2014-01-10)
- ·实例学习PHP中的正则表达式(2014-01-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)