preg_replace突然感觉好强大啊
<p><img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB28Af4dpXXXXbkXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2LC29dpXXXXXJXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i4/1696415374/TB25N.pdpXXXXXfXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2axr0dpXXXXcnXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i4/1696415374/TB2rv62dpXXXXbJXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2Yg27dpXXXXawXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2SsY_dpXXXXXTXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2tAD8dpXXXXabXpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2ds61dpXXXXb8XpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2cyZjdpXXXXaQXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2TUZhdpXXXXXxXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2C07odpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2egT6dpXXXXa4XpXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2D3EodpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2BDgldpXXXXXSXXXXXXXXXXXX_!!1696415374.jpg" style="font-size: inherit; padding: 0px; outline: 0px; border: 0px; height: auto; vertical-align: middle;"/><br/></p>
需要把上面这段html中的图片网址,上传到自己的服务器,并做好映射。
提取url:
preg_match_all('/<img[^>]*src\s?=\s?[\'|"](?!http:\/\/img.jinyuanbao|http:\/\/img.jybtest)([^\'|"]*)[\'|"]/is', $content, $picarr);
这段代码的意思是提取非img.jinyuanbao和img.jybtest开头的网址。提取完毕,等到数组$picarr;
Array
(
[0] => Array
(
[0] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB28Af4dpXXXXbkXpXXXXXXXXXX_!!1696415374.jpg"
[1] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2LC29dpXXXXXJXpXXXXXXXXXX_!!1696415374.jpg"
[2] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i4/1696415374/TB25N.pdpXXXXXfXXXXXXXXXXXX_!!1696415374.jpg"
[3] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2axr0dpXXXXcnXpXXXXXXXXXX_!!1696415374.jpg"
[4] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i4/1696415374/TB2rv62dpXXXXbJXpXXXXXXXXXX_!!1696415374.jpg"
[5] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2Yg27dpXXXXawXpXXXXXXXXXX_!!1696415374.jpg"
[6] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2SsY_dpXXXXXTXpXXXXXXXXXX_!!1696415374.jpg"
[7] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2tAD8dpXXXXabXpXXXXXXXXXX_!!1696415374.jpg"
[8] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2ds61dpXXXXb8XpXXXXXXXXXX_!!1696415374.jpg"
[9] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2cyZjdpXXXXaQXXXXXXXXXXXX_!!1696415374.jpg"
[10] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i2/1696415374/TB2TUZhdpXXXXXxXXXXXXXXXXXX_!!1696415374.jpg"
[11] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2C07odpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg"
[12] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i3/1696415374/TB2egT6dpXXXXa4XpXXXXXXXXXX_!!1696415374.jpg"
[13] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2D3EodpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg"
[14] => <img align="absmiddle" src="https://img.alicdn.com/imgextra/i1/1696415374/TB2BDgldpXXXXXSXXXXXXXXXXXX_!!1696415374.jpg"
) [1] => Array
(
[0] => https://img.alicdn.com/imgextra/i1/1696415374/TB28Af4dpXXXXbkXpXXXXXXXXXX_!!1696415374.jpg
[1] => https://img.alicdn.com/imgextra/i2/1696415374/TB2LC29dpXXXXXJXpXXXXXXXXXX_!!1696415374.jpg
[2] => https://img.alicdn.com/imgextra/i4/1696415374/TB25N.pdpXXXXXfXXXXXXXXXXXX_!!1696415374.jpg
[3] => https://img.alicdn.com/imgextra/i3/1696415374/TB2axr0dpXXXXcnXpXXXXXXXXXX_!!1696415374.jpg
[4] => https://img.alicdn.com/imgextra/i4/1696415374/TB2rv62dpXXXXbJXpXXXXXXXXXX_!!1696415374.jpg
[5] => https://img.alicdn.com/imgextra/i3/1696415374/TB2Yg27dpXXXXawXpXXXXXXXXXX_!!1696415374.jpg
[6] => https://img.alicdn.com/imgextra/i2/1696415374/TB2SsY_dpXXXXXTXpXXXXXXXXXX_!!1696415374.jpg
[7] => https://img.alicdn.com/imgextra/i2/1696415374/TB2tAD8dpXXXXabXpXXXXXXXXXX_!!1696415374.jpg
[8] => https://img.alicdn.com/imgextra/i3/1696415374/TB2ds61dpXXXXb8XpXXXXXXXXXX_!!1696415374.jpg
[9] => https://img.alicdn.com/imgextra/i2/1696415374/TB2cyZjdpXXXXaQXXXXXXXXXXXX_!!1696415374.jpg
[10] => https://img.alicdn.com/imgextra/i2/1696415374/TB2TUZhdpXXXXXxXXXXXXXXXXXX_!!1696415374.jpg
[11] => https://img.alicdn.com/imgextra/i1/1696415374/TB2C07odpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg
[12] => https://img.alicdn.com/imgextra/i3/1696415374/TB2egT6dpXXXXa4XpXXXXXXXXXX_!!1696415374.jpg
[13] => https://img.alicdn.com/imgextra/i1/1696415374/TB2D3EodpXXXXXyXXXXXXXXXXXX_!!1696415374.jpg
[14] => https://img.alicdn.com/imgextra/i1/1696415374/TB2BDgldpXXXXXSXXXXXXXXXXXX_!!1696415374.jpg
) )
我们把$picar[1]中的图片连接存在oss;
https://img.alicdn.com/imgextra/i1/1696415374/TB2BDgldpXXXXXSXXXXXXXXXXXX_!!1696415374.jpg
存储在OSS上
http://img.jybtest.com/425968826991101.jpg
得到一个映射的数组$pics:
$pics = array(
'https://img.alicdn.com/imgextra/i1/1696415374/TB2BDgldpXXXXXSXXXXXXXXXXXX_!!1696415374.jpg' => 'http://img.jybtest.com/425968826991101.jpg'
);
foreach ($pics as $k => $v) {
$content = str_replace($k, $v, $content);
}
//或者
$k = array_map(function($item) {return '/'.str_replace('/', '\/', $item).'/';}, array_keys($pics));
$v = array_values($pics);
$content = preg_replace($k, $v, $content);
print_r($content);
preg_replace看出这个很方便地!
本博客不在更新!!!!
preg_replace突然感觉好强大啊的更多相关文章
- 强大的django-debug-toolbar,django项目性能分析工具
强大的django-debug-toolbar,django项目性能分析工具 给大家介绍一个用于django中debug模式下查看网站性能等其他信息的插件django-debug-toolbar 首先 ...
- 网页万能排版布局插件,web视图定位布局创意技术演示页
html万能排版布局插件,是不是感觉很强大,原理其实很简单,不过功能很强大哈哈,大量节省排版布局时间啊! test.html <!doctype html> <html> &l ...
- Python爬虫学习(9):Selenium的使用
1 简介以及安装 Selenium 是什么?一句话,自动化测试工具.它支持各种浏览器,包括 Chrome,Safari,Firefox 等主流界面式浏览器,如果你在这些浏览器里面安装一个 Seleni ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
- hdu 5587 Array
题目链接:hdu 5587 前两周 bc 上的题了,因为赶大作业所以没有去打,看了下官方给出的思路,感觉好强大~~竟然能转化成求二进制数 1 的个数: 然后数位 dp 就行了, #include< ...
- python ABC
因为项目需要,总是会有各种各样要重命名文件的场合,manual的方法当然不可取,bat的方法又感觉不够强大,所以就从零开始学python,就为了能够自动批量修改文件名,倒腾了一个周六,总算可以了 :) ...
- Erlang初学
这篇文章主要介绍了Erlang初学:Erlang的一些特点和个人理解总结,本文总结了函数式编程.一切都是常量.轻量进程.进程端口映射及典型缺点等内容,需要的朋友可以参考下 我对 Erlang 编程理念 ...
- [转]常用的快速Web原型图设计工具
转自大神: http://www.cnblogs.com/lhb25/archive/2009/04/25/1443254.html 做产品原型是非常重要的一个环节,做产品原型就会用使用各式各样的工具 ...
- iframe的自适应
iframe标签的应用感觉很强大,但是有的低版本好像不是很兼容,所以有的时候需要注意这个的兼容问题,iframe 元素会创建包含另外一个文档的内联框架(即行内框架),他的属性有很多,也很容易理解,就不 ...
随机推荐
- Java自学路线图之Java基础自学
自学Java要从Java基础语法开始自学,自学Java的过程中打好基础是很重要的!首先自学:面向对象基础,API基础,集合基础.这些对Java小白的数学和英语能力的要求门槛不高,在学习的过程中积累相应 ...
- Simulink仿真入门到精通(五) Simulink模型的仿真
5.1 模型的配置仿真 由各种模块所构建的可视化逻辑连接,只是模型的外在表现,模型仿真的核心驱动器是被称作解算器(Solver)的组件,相当于Simulink仿真过程的心脏,驱动着模型仿真,它在每一个 ...
- golang bufio.NewScarme
// dup1 输出标准输入中出现次数大于1的行,前面是次数 package main import ( "bufio" "fmt" "os" ...
- touch事件中的touches、targetTouches和changedTouches
touches: 当前屏幕上所有触摸点的列表; targetTouches: 当前对象上所有触摸点的列表; changedTouches: 涉及当前(引发)事件的触摸点的列表; 通过一个例子来区分一下 ...
- asp.net core 3.x 微信小程序登录库(也可用于abp)
视频教程(使用+实现原理):https://share.weiyun.com/57HKopT 建议直接看视频 源码地址:https://github.com/bxjg1987/abpGeneralMo ...
- MySQL笔记(7)-- 事务和实现
一.背景 前面有说到InnoDB是事务型引擎,那什么是事务?事务的特性是什么?它所对应的隔离级别是哪些?是怎么实现的?下面来详细讨论下. 二.事务的理解 事务就是一组原子性的SQL查询,或者说一个独立 ...
- .NET的资源并不限于.resx文件
为了构建一个轻量级的资源管理框架以满足简单的本地化(Localization)的需求,我试图直接对现有的Resource编程模型进行扩展.虽然最终没能满足我们的需求,但是这两天也算对.NET如何进行资 ...
- hdu3294 Manacher算法模板
题目链接:http://icpc.njust.edu.cn/Problem/Hdu/3294/ 回文长度如果是mxx,回文中心是id的话,在扩展串中(id-mxx+1,id+mxx-1)的这段中去除标 ...
- 基础组合问题 ————从n个物品里选m个
package test; import java.util.*; public class Main{ public static int f(int n,int k, int goal){ if( ...
- 详解firewalld 和iptables
在RHEL7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. fir ...