高分求解一个PHP 正则表达式替换字符串,不存在则插入。 20

看代码:<imgsrc="#"width="10"height="5"/><imgsrc="#"/><imgsrc="#"width="10"/><imgsrc="#"h... 看代码:
<img src="#" width="10" height="5" />
<img src="#" />
<img src="#" width="10" />
<img src="#" height="10" />

问题:
把img标签中的width,height的值替换成另外数值,如100,200
但上面的字符串中有的img可能没有width,height属性,所以需要将width,height属性加上。

最后需要的格式类似:
<img src="#" width="100" height="200" />
<img src="#" width="100" height="200" />
<img src="#" width="100" height="200" />
<img src="#" width="100" height="200" />
请注意,其中100,200这数值是动态的,并不是固定值。

谢了!
展开
 我来答
百度网友690c81e14
2013-06-08 · TA获得超过635个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:660万
展开全部
正则不能替换不存在的项
所以我的思路是把所有src属性匹配出来,加入到格式化的字符串中
preg_replace('/<img[^>]*?src="([^"]+)"[^>]*>/im', '<img src="$1" width="100" height="100">', $str);
追问
用什么方法解决不重要,preg_replace也是可以的,不过我是要替换width和height,不是src.
谢谢你的解答:)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_lihongsheng
2013-06-09
知道答主
回答量:15
采纳率:0%
帮助的人:12.1万
展开全部
先获得所有的img,然后去除img的所有width,height属性,最后重新索引下img数组,为每个img插入属性width,height
追问
麻烦代码实现,谢谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迷花石
2013-06-09 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:117
采纳率:0%
帮助的人:88万
展开全部
不考虑jquery吗?
追问
问题中举例img标签只是为了方便说明问题,实际上是要对字符串进行操作,跟HTML无关,所以Jquery也是没办法的。
谢谢你的建议:)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式