用户名:
密 码: 记住
您当前的位置:首页 > 网络编程 > php教程

php 正则替换掉网页中所有超链接,过滤网页中所有Url

时间:2015-01-23  来源:西部数据  作者:西部数据

在php中我们经常会需要把字符串中的超级链接地址与url给过滤掉,下面我来利用php正则功能实现替换掉网页中所有超链接与url实例.

正则替换掉网页中所有超链接,代码如下:

  1. <?php  
  2. $content = file_get_contents('test.html');  
  3. $url = 'http://www.phpfensi.com';  //要换成的新网址  
  4. $preg = '/[s]href=("|')[S]*("|')/i';  
  5. $replace = ' href="' . $url . '"';  
  6. $content = preg_replace($preg$replace$content);  //正则替换  
  7. create_log('newhtml'$content);  //生成新文件 
  8. ?> 

下面是写文件操作,代码如下:

  1. function create_log($filename$text) {  
  2.        if ( strtolower(substr($filename, -4)) != 'html' ){  
  3.               $filename .= '.html';  
  4.        }  
  5.        $filename = dirname ( __FILE__ ) . '/' . $filename;  
  6.        if (!file_exists ( $filename )) {  
  7.               exec'touch '$filename);  
  8.               exec'chmod 777 '$filename);  
  9.        }  
  10.        $handle = fopen ( $filename"w+b" );  
  11.        $text .= "rn";  
  12.        fwrite($handle$text);  
  13.        fclose ( $handle );  

下面一个简单的采集功能,代码如下:

  1. $url ='http://www.phpfensi.com'
  2. $body=@file_get_contents($url); 
  3. preg_match_all('/href=['"]?([^'"]*)['"]?>(.*)/i',$body,$b); 
  4. $nums = array(); 
  5. foreach($b[1] as $u){ 
  6.   if(in_array($u,$nums)){ 
  7.   continue
  8.   } 
  9.   $nums[]=$u
  10.   $title=strip_tags($u); 
  11.   echo $title."</br>"
来顶一下
返回首页
返回首页
推荐资讯
WiFi太不安全:7岁女孩11分钟内入侵公共网络 WiFi太不安全:7岁女孩11分钟内入侵近期刚刚发布研究说WiFi网络能获得人们手机里多少私人信息,
不服跑个分?人工智能也出现“刷分”乱象 不服跑个分?人工智能也出现“刷分2014年,人工智能领域突然爆发,成为了科研和科技创业的热门
相关文章
栏目更新
栏目热门