php正则取img标记中任意属性(正则替换去掉或改变
针对你所描述的项目新闻发布系统,数据库内容字段中存储的是原图的路径,而前台需要使用缩略图的问题,经过深入研究与编码实践,我取得了显著的成果。接下来,我将详细阐述我的解决方案。
在系统中,我们原本存储的是图片的完整路径,包括其各种属性如src、width和height等。但现在,我们希望在前端显示缩略图,这就需要我们从数据库中的图片路径提取出src属性,并对其进行处理。
使用PHP正则表达式,我成功地从字符串中提取出了img标签及其属性。例如,当我们在字符串中找到一个img标签时,可以使用正则表达式轻松地获取其src、width和height属性。具体的代码实现如下:
```php
// 假设我们有如下字符串包含img标签和其他内容
$word = '
111 22
/upload/images/aaa.jpg" 100">// 使用正则表达式匹配img标签中的src属性
preg_match('/
echo $matches[1]; // 输出图片的路径,如:/upload/images/aaa.jpg
```
接下来,我们需要改变图片的src属性以指向缩略图路径。我们可以使用正则表达式进行替换操作:
```php
// 改变图片的src属性,将原来的路径改为缩略图路径
$str = '
111 22

31313 224344
/upload/images/bbb.jpg" 60" width=100 style="">print preg_replace('/(<img.+src=/"?.+)(images\//)(.+/.+(jpg|gif|bmp|png)/"?.+>)/i',"/${1}_thumbs/Images//${3}",$str);
```
以上代码会将图片路径中的`images/`替换为`_thumbs/Images/`,从而实现缩略图的引用。如果需要舍弃图片的宽高属性(因为缩略图通常使用原图的宽高),我们可以稍作调整正则表达式以实现这一需求:
```php
// 仅改变src属性,保留原宽高或者设置为默认宽高
print preg_replace('/(<img).+(src=/"?.+)images\//',"${1} ${2}",$str); // 仅改变了src属性路径部分而保留宽高部分不变。具体的处理还需要结合实际业务场景来实现宽高属性的管理逻辑。最终的前端展示代码可以根据实际需求进一步定制和优化。通过这些改进,我们能够确保前台能够正确显示缩略图,并且数据库中的原图路径能够得到有效利用。希望这个解决方案能够满足你的需求并且帮助解决你所遇到的问题。如有进一步需求或疑问,请随时告知。
编程语言
- php正则取img标记中任意属性(正则替换去掉或改变
- jQuery实现鼠标点击处心形漂浮的炫酷效果示例
- PHP实现文件分片上传的实例代码
- vue组件学习教程
- Yii全局函数用法示例
- vue组件的写法汇总
- 一个完整的PHP类包含的七种语法说明
- JavaScript代码性能优化总结(推荐)
- php实现支持中文的文件下载功能示例
- BootStrap TreeView使用实例详解
- vue.js使用v-model指令实现的数据双向绑定功能示例
- ES6中箭头函数的定义与调用方式详解
- vue实现表格增删改查效果的实例代码
- 微信小程序实现发送模板消息功能示例【通过o
- JavaScritp添加url参数并将参数加入到url中及更改
- Asp.net 2.0 无刷新图片上传 显示缩略图 具体实现