PHP中正则替换函数preg_replace用法笔记

时间:2023-11-23 21:04:56

  今天应老板的需求,需要将不是我们的页面修改一个链接,用js+iframe应该也能实现,但是我想尝试一下php实现方法。

  首先你得先把别人的页面download到你的php中,实现方法可以用curl, file,这里有一篇文章写的不错http://www.11jn.com/phpbb/viewtopic.php?f=31&t=1390,这里就不多说。

  然后就是用正则表达式找到你的链接,因为是具体的链接,就直接写了,比如百度 (http\:\/\/www.baidu.com)

下面就是主要函数 preg_replace()

mixed preg_replace ( mixed $pattern ,     mixed $replacement ,   mixed $subject     [, int $limit = - [, int &$count ]] )

  正则表达式(要被替换的)      替换的内容                     需要匹配替换的对象       可选,指定替换的个数,如果省略 limit 或者其值为 -1,则所有的匹配项都会被替换

  替换一个的实例:

        要把www.baidu.com替换成www.google.com

$content='http://www.baidu.com';

$replace=preg_replace("(http\:\/\/www.baidu.com)","http://www.google.com",$content);
echo $replace;

  替换的第二个实例:

      在一个段落中替换两个多个字段,www.baidu.com替换成www.google.com ,并且Windows替换成Linux

$content="http://www.baidu.com on Windows.";
$str1=array("(http\:\/\/www.baidu.com)","(Windows)");
$str2=array("http://www.google.com","Linux");
$replace=preg_replace($str1,$str2,$content);
echo $replace;