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

正则替换掉网页中所有超链接

 代码如下 复制代码

<?php
$content = file_get_contents('test.html');
$url = 'http://www.111cn.net';  //要换成的新网址
$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.111cn.net';
$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>";
}

时间: 2024-10-26 07:24:44

php 正则替换掉网页中所有超链接 过滤网页中所有Url的相关文章

JS正则替换掉小括号及内容的方法_javascript技巧

正则表达式:\ ( [ ^ \ ) ] * \ ) JS代码: var str="hello(world)"; var nstr = str.replace(/\([^\)]*\)/g,""); 以上这篇JS正则替换掉小括号及内容的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持. 以上是小编为您精心准备的的内容,在的博客.问答.公众号.人物.课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript 正则 括号.正

如何获取access中的超链接并显示为超链接而不是文本

问题描述 在access中将所需字段"客户编号"的类型设置了超链接,通过asp访问显示后是文本形式的超连接,而我需要的是直接点击的带下划线的超连接形式谢谢大虾救急啊 解决方案 解决方案二:这个...<ahref="http://www.csdn.net/">点击打开新地址</a>解决方案三:连接access数据库例程<%@ImportNamespace="System.Data"%><%@ImportNa

提取网页中的超链接(C#)

链接|网页 using System;using System.Xml;using System.Text;using System.Net;using System.IO;using System.Collections;using System.Text.RegularExpressions; public class App{ public static void Main() { string strCode; ArrayList alLinks; Console.Write("请输入一

javascript-如何用js替换掉table中某一列的值?

问题描述 如何用js替换掉table中某一列的值? 解决方案 ID Name 1 a 2 c <script src="jquery-1.7.1.min.js"></script> <script> window.onload = function () { $("table").find(".name").html("b"); } </script> 你可以试试,我理解的你应该

禁止拖拉超链接 xaml-wpf窗口 禁止鼠标拖拽webbrowser网页中的超链接文字或图片到桌面或浏览器中显示?

问题描述 wpf窗口 禁止鼠标拖拽webbrowser网页中的超链接文字或图片到桌面或浏览器中显示? wpf webbrowser网页(webbrowser是别人的网页,如百度网页.搜狐网页), 用鼠标拖拽窗口中的超链接文字.超链接图片时,可以拖到桌面.或浏览器打开超链接对应的页面. 现在我想实现: 当鼠标拖拽窗口中的超链接文字.超链接图片移动到窗口边沿时,即失效,达到不能拖拽超链接文字.超链接图片到桌面.也不能拖到浏览器打开链接对应的网页. 解决方案 需要用api子类化webbrowser,禁

字符串替换-java如何将字符串的所有括号中指定字符替换掉?(正则表达式或者其它方法)

问题描述 java如何将字符串的所有括号中指定字符替换掉?(正则表达式或者其它方法) 要处理字符串 Medical Care ( Costs Inverse ## agonism ( Costs Inverse ## agonism ) ) Costs ( Inverse ## agonism ) at beta_1 ##adrenergic receptors 替换操作:将字符串中 所有括号 内的 ##替换成 @ 处理结果: Medical Care ( Costs Inverse @ ago

php中正则替换函数ereg_replace用法实例

本文实例讲述了php中正则替换函数ereg_replace用法.分享给大家供大家参考.具体如下: 下面的实例是利用php 正则替换函数 ereg_replace来把指定的字符替换成我想需要的字符实例,代码如下: 复制代码 代码如下:$num = 'www.jb51.net'; $string = "this string has four words. <br>"; $string = ereg_replace ('four', $num, $string); echo $

php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)_php技巧

因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 复制代码 代码如下: <?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="

php中正则替换函数ereg_replace用法实例_正则表达式

本文实例讲述了php中正则替换函数ereg_replace用法.分享给大家供大家参考.具体如下: 下面的实例是利用php 正则替换函数 ereg_replace来把指定的字符替换成我想需要的字符实例,代码如下: 复制代码 代码如下: $num = 'www.jb51.net'; $string = "this string has four words. <br>"; $string = ereg_replace ('four', $num, $string); echo