替换IMG
<?php
$str = '<img src="http://img01.feiniu.com/images/show/detail/image/20141031/9b3bbc368d367723bbe5f755b4ce34b3.png" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/d67bcb91fed102dfcbc53946ff1435aa.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/61ee3f9da9652b7ad72a5ccfeab5f731.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/b023abffcee249558d23aafdfa32c4e6.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/c2543cca0b124b9932cd9aee1c0654f0.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/94f0bca937d9a595027daebf4ee9bb00.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/ae3bc1b541929d4653585657eadaff9a.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/8046db84706a16c7deb22045fcfc0230.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/5a968cddcbbe9a61f771fc2cabdce86f.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/ecdc381a3880a3adc04161f108f04f28.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/3a7f38f5b28da9c7643f7d6c228c624e.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/9acd5c96be6e4a591b1e18c8010c38ca.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/1df6a35c80b24f0a5cf5b5812ae401ac.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/5ee9e6614624fdae8230b4fab0f347cd.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/4fdcfee6e45f89204378a3427af2f2bf.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/23114a142ad3f0020f92107ad172689f.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/7f0101d1c37b2769c4217009eaa3d98b.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/be29031fa929f6ca2444a86b06b9ed05.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/48cb07821cec53a1de3cc54cfe3be40b.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/0805eb0a253c70349147e67d2d67e02d.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/c28e7c4d9adf828ea7fef97365a973cd.jpg" alt="" /><img src="http://img01.feiniu.com/C/show/detail/image/20141031/37400542cac93827c842efc3f9c63f04.jpg" alt="" />111<img src="http://img01.feiniu.com/C/show/detail/image/20141031/0b5ca6047c3b9de6e1d53c864e74af16.jpg" alt="" />'; function test($matches){
preg_match_all('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$matches[0],$match,PREG_PATTERN_ORDER);
$imgList = &$match[0];
if($imgList && is_array($imgList)){
foreach($imgList as &$img){
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i', $img, $sub);
$url = $sub[1];
$parseUrl = parse_url($url);
if(strpos($parseUrl['host'], 'feiniu.com') !== false && !preg_match('/^\/images/', $parseUrl['path'])){
$img = preg_replace('/(<img.+src=\"?.+)(\.(jpg|gif|bmp|bnp|png)\"?.+>)/i', "\${1}_800x0\${2}", $img);
}
}
}
return implode("", $imgList);
} echo preg_replace_callback('/<img.+src=\"?.+\.(jpg|gif|bmp|bnp|png)\"?.+>/i', "test", $str);
替换IMG的更多相关文章
- Shell替换
如果表达式中包含特殊字符,Shell 将会进行替换.例如,在双引号中使用变量就是一种替换,转义字符也是一种替换. #!/bin/bash a= echo -e "Value of a is ...
- ContentProvider域名替换小工具
开发项目域名想怎么换就怎么换,就是这么任性! 这是一个很有意思的小工具! 这是一个方便开发人员和测试人员的小工具!! 吐槽: 一直在做Android开发,一直总有一个问题存在:做自己公司的apk开发时 ...
- 偷天换日:网络劫持,网页js被伪装替换。
偷天换日 3月12号石家庄一个客户(后面简称乙方)有几家门店,平台收银(web)有一些功能无法正常使用,平台有上千家门店在使用,到目前为止别的省份都没有此问题.远程协助发现,js日期控件无法正常调用, ...
- StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing the strings?
StackOverFlow排错翻译 - Python字符串替换: How do I replace everything between two strings without replacing t ...
- vim 中替换
将80替换为10.0.0.19:80 :g/80/s//10.0.0.19:80/g
- freeswitch 使用mysql替换默认的sqlite
转自 80000hz.com freeswitch 使用mysql替换默认的sqlite No Reply , Posted in 默认分类 on January 14, 2014 目标使用mysql ...
- ORACLE 利用 REPLACE函数替换字段字符串
REPLACE(string,s1,s2) string 希望被替换的字符或变量 s1 被替换的字符串 s2 要替换的字符串 SQL> select replace(he love you,he ...
- [No0000A4]DOS命令(cmd)批处理:替换字符串、截取字符串、扩充字符串、获取字符串长度
1.替换字符串,即将某一字符串中的特定字符或字符串替换为给定的字符串.举例说明其功能:========================================= @echo off set a ...
- 如何把select默认的小三角替换成自己的图片
不同的浏览器默认的select的选项图标是不同的,例如: 在chrome中,是这样的: 未点击时 点击时 在Firefox中是这样的: 未点击时 点击时 在IE9中是这样的: 未点击时 ...
- C#将WebBowser控件替换为Chrome内核
摘要 由于最近要做一个浏览器式的软件,其中有不少地方需要使用到jQuery和BootStrap,但是在C#中,默认的WebBrowser控件默认使用的是IE的core,而低版本的IE在JS加载上总是容 ...
随机推荐
- Annotation注解
概述 Annotation是JDK 5.0以后提供对元数据的支持,可以在编译.加载和运行时被读取,并执行相应的处理.所谓Annotation就是提供了一种为程序元素设置元数据的方法,可用于修饰包.类. ...
- cogs 1008 贪婪大陆
/* 不要思维定视 盯着线段树维护l r 的ans不放 显然没法区间合并 换一种思路 如果打暴力的话 O(nm) 每次询问 扫一遍之前所有的修改 有交点则说明种数++ 接下来考虑如何优化 我们把每个区 ...
- ZOJ1524
题意:给定需要购买物品的顺序以及总物品对应的价格,求解按顺序购买物品时最小花费. 输入: m,n(m代表需要购买物品的清单,n代表总的物品数) Xi...(代表对应物品的序号以及价格) 输出: cos ...
- 解决 jsp eclipse异常 【The import javax.servlet cannot be resolved】
[ <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 报错][impor ...
- MySQL性能调优与架构设计读书笔记
可扩展性设计之数据切分 14.2 数据的垂直切分 如何切分,切分到什么样的程度,是一个比较考验人的难题.只能在实际的应用场景中通过平衡各方面的成本和利益,才能分析出一个真正适合自己的拆分方案. 14. ...
- jQuery上传插件Uploadify 3.2使用
Uploadify下载地址:http://www.uploadify.com/download/ 这里下载最新版的3.2的. 常用API描述: $(document).ready(function() ...
- DEDE常见的错误(转)
1:dedecms文章录入的时候,如何控制文章重复. 在dede/article_add.php里面,加入该程序就OK了 if($cfg_check_title == 'Y'){ ...
- php与http协议
1.预定义变量$_SERVER $_SERVER 是一个包含了诸如头信息(header).路径(path).以及脚本位置(script locations)等等信息的数组. 可以再后台输出 f ...
- cocos2d(粒子效果编辑器)
ParticleDesigner for Mac下载地址:http://www.cocoachina.com/bbs/read.php?tid=108339 最近在做一款粒子编辑器 其实就是在co ...
- 内联汇编和JMP到内联函数注意事项
对于jmp类型的hook, 如果自己的过程没有使用_declspec(naked),那么系统会自动给添加一些额外的代码,控制堆栈平衡,但是这些额外的代码会破坏被hook函数的堆栈. 对于call类型的 ...