天天看点

pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

php preg_match_all结合str_replace替换内容中所有img

发布于 2014-10-02 20:40:01 | 197 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

本文是一个php结合preg_match_all函数结合str_replace函数实现的可以用来替换内容中所有img标签的代码,感兴趣的同学参考下.

最近做站的时候,采集了大量的数据,但采回来的数据基本上都要经过过滤原站保留的数据,其中IMG就是一个地方。网站上好多这些应用例子似乎没有必要“秀”出来,但站已几天没写日志,那就来一个吧

采集回来的图片img标签中,有好多javascript脚本和无用的信息,必需过替换自己想要的,比如alt。先看看要过滤的内容,我随便复制出来:

sdfsdfsdf

pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf

pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

500){this.resized=true; this.style.width=500;}”>sdfsadf

pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

500){this.resized=true;this.style.width=500;}”>sdfsdf

要把上面替换成形如:

pregmatchall php替换,php preg_match_all结合str_replace替换内容中所有img

其中src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif” src=”http://www.xxx.com/upimg/080330 /120D1232295023X0.gif”这个地址要保留,因为图片用的都是源地址

方法大致是:先读取内容里的所以IMG标签,然后把每个IMG标签的SRC抽取出来,并且组合成自己的内容,最后进行替换。

preg_match_all就是我想要的函数,它能够把正则表达式匹配到的内容建立一个三维数组,你可以对它们进行遍历查找替换,不太了解的请查查手册,这里不作具体介绍。函数代码:

function replace($str)

{

preg_match_all(”/]+>/isU”, $str, $arr);

for($i=0,$j=count($arr[0]);$i

$str = str_replace($arr[0][$i],””,$str);

}

return $str;

}

相关阅读:

php preg_match_all结合str_replace替换内容中所有img

php计算多维数组中所有值总和的方法

PHP基于反射获取一个类中所有的方法

php中替换字符串中的空格为逗号','的方法

php实现下载远程网页中所有图片的示例代码

php中通过正则表达式下载内容中的远程图片的函数代码

php数组函数之array_count_values() 统计数组中所有值出现的次数函数

抓取并下载CSS中所有图片文件的php代码

PHP正则提取内容中的图片地址并循环输出

PHP获取表单中所有复选框值的方法

PHP清除数组中所有字符串两端空格的方法

PHP清除字符串中所有无用标签的方法