找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1894|回复: 0
打印 上一主题 下一主题

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

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 09:22:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            采集回来的图片img标签中,有好多javascript脚本和无用的信息,必需过替换自己想要的,比如alt。先看看要过滤的内容,我随便复制出来:
[U]复制代码[/U] 代码如下:
sdfsdfsdf
[img][/img]
500){this.resized=true; this.style.width=500;}”>sfsdfsdfasdfsadf
[img][/img]
500){this.resized=true; this.style.width=500;}”>sdfsadf
[img][/img]
500){this.resized=true;this.style.width=500;}”>sdfsdf

要把上面替换成形如:
[U]复制代码[/U] 代码如下:
[img][/img]
其中src=”http://www.xxx.com/up” src=”http://www.xxx.com/up”这个地址要保留,因为图片用的都是源地址

方法大致是:先读取内容里的所以IMG标签,然后把每个IMG标签的SRC抽取出来,并且组合成自己的内容,最后进行替换。
preg_match_all就是我想要的函数,它能够把正则表达式匹配到的内容建立一个三维数组,你可以对它们进行遍历查找替换,不太了解的请查查手册,这里不作具体介绍。函数代码:
[U]复制代码[/U] 代码如下:
function replace($str)
{
preg_match_all(”/
[img][/img]
]+>/isU”, $str, $arr);
for($i=0,$j=count($arr[0]);$i
            
            
您可能感兴趣的文章:
  • PHP正则匹配图片并给图片加链接详解
  • PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
  • php中使用preg_match_all匹配文章中的图片
  • 关于php正则匹配汉字的方法介绍
  • php小经验:解析preg_match与preg_match_all 函数
  • PHP函数preg_match_all正则表达式的基本使用详细解析
  • php正则匹配html中带class的div并选取其中内容的方法
  • PHP中preg_match函数正则匹配的字符串长度问题
  • php正则匹配文章中的远程图片地址并下载图片至本地
  • PHP入门教程之正则表达式基本用法实例详解(正则匹配,搜索,分割等)
  • 正则匹配密码只能是数字和字母组合字符串功能【php与js实现】
  • PHP用正则匹配form表单中所有元素的类型和属性值实例代码
  • PHP正则匹配操作简单示例【preg_match_all应用】
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端