一个字符串多个图片进行截取替换并添加图片宽度

<?php

header("Content-type:text/html;charset=utf-8");

$str = ‘asdfasdfasdf<img src="http://192.168.7.182:8083/File/upload/2015/0109/14/54af75cebaa20.jpg" >ffggfsdasdfasdfasdfasdfasdfsadfasdf<img src="http://192.168.7.182:8083/File/upload/2015/0109/14/54af77d61f9ed.jpg"  >‘;

preg_match_all(‘<img src="(.*?)">‘,$str, $bodyarr);//正则匹配找到图片的src地址

foreach($bodyarr[1] as $key=>$val){//多图片src循环

$fileinfo = getimagesize($val);//传入src路径,获取图片信息,函数具体意思看php手册

if($fileinfo[0] > 400){//判断宽度是否大于400

$letters = array(‘/‘, ‘.‘);

$fruit   = array(‘\/‘, ‘\.‘);

$output  = str_replace($letters, $fruit, $val);//为了方便正则替换时可以识别到唯一的图片,对图片src进行正则形式的转码

$patterns[$key] = ‘/<img src="‘.$output.‘"/‘;

$replacements[$key] = ‘<img src="‘.$val.‘" width="400"‘;

}

}

if($patterns && $replacements)//判断是否有图片需要替换

$str = preg_replace($patterns, $replacements, $str);//执行替换,对$str变量进行重新赋值

echo $str;

?>

时间: 2024-10-12 04:33:42

一个字符串多个图片进行截取替换并添加图片宽度的相关文章

Android4.4 ContentResolver查询图片无效 及 图库删除 添加图片后,ContentResolver不更新的问题解决

问题背景: 參考链接?做了一个图片浏览,用ContentResolver扫描图库照片.且严格依照时间拍摄顺序排好序显示在listview里.例如以下图所看到的: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWFuemkxMjI1NjI3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" /> 遇到的问题是在4.2的手机上能正常显示,可是新增了照片,

C#如何在PDF文件添加图片印章

文档中添加印章可以起一定的作用,比如,防止文件随意被使用,或者确保文档内容的安全性和权威性.C#添加图片印章其实也有很多实现方法,这里我使用的是免费的第三方软件Free Spire.PDF,向大家阐述如何以编程的方式在PDF文件中添加图片印章. 具体步骤如下: 在此之前,我们需要添加dll文件作为引用.添加引用 → 浏览 → Spire.XLS folder → Bin → .NET 2.0/3.5/4.0/4.5/4.0 ClientProfile → Spire.XLS.dll. 第一步:首

iOS UILable 文字添加图片 (文字前面,中间,后面添加图)

1,实例化一个UILable 2, // 创建一个富文本 NSMutableAttributedString *attri =     [[NSMutableAttributedString alloc] initWithString:@"超时罚款24元/小时"]; NSTextAttachment *attch = [[NSTextAttachment alloc] init]; // 表情图片 attch.image = [UIImage imageNamed:@"par

把一个字符串里符合表情文字标签的地方全部替换为相应的图片的方法

1.表情数据: var emotion =[ {"name": "Expression_1","text": "[微笑]"}, {"name": "Expression_2","text": "[撇嘴]"}, {"name": "Expression_3","text": "[色

判断一个字符串里是否含有某段字符?怎么截取一段字符?

写前端过程中遇到的最多的字符串操作莫过于 :判断一个字符串里是否含有某段字符 ,和 截取一段字符串. 字符串操作有很多方法,其实一般只要掌握以上两个就够用了,其他方法随他去吧,好,下面就以上两个方法讲解一下. 1.判断一个字符串是否含有某段字符,使用indexOf()方法: str.indexOf("参数1","参数2");参数1表示判断是否包含的小字符串, 参数2表示从左到有依次判断的起始位置,默认从0开始,str表示用于寻找的原字符串,ps:如果原字符串含多个判

1字符串中的world替换为i bookan wisdom2.字符串的相加字符串输出,长度3比较字符串大小4截取字符串5字符串内所有a都替换成A6判断字符串是否以http开头7将字符串内admin和123截取出来8字符添加

#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 第1题 字符串中的world替换为i bookan wisdom */ //        NSString *[email protected]"hello world and sunshine"; //        NSString *newstr3=[str1 string

面试题之java 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 要求不能出现截半的情况

题目:10. 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”. 一.需要分析 1.输入为一个字符串和字节数,输出为按字节截取的字符串-------------->按照字节[byte]截取操作字符串,先将String转换成byte类型 .2.汉字不可以截半----------------------------------

java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断方法,如下: // 判断一个字符串是否都为数字 public boolean isDigit(String strNum) { return strNum.matches("[0-9]{1,}"); } // 判断一个字符串是否都为数字 public boolean isDigit(Str

JS 从一个字符串中截取两个字符串之间的字符串

/************************************************* 函数说明:从一个字符串中截取 两个字符串之间的字符串 参数说明:src_str 原串, start_str_loc开始查找的字符串, start_str起始字符串 end_str结束字符串 dep :两个字符串之间的字符串 /************************************************/ function analysysRespParam(src_str,s