自动给图片加链接的 正则怎么写?

CNetol 2012-05-27 01:57:42

$str = '<img src="1.gif"/>dfdgfdg幅度<img src="asdfasdf/"/>dfdgfdg ';


想把上面的串变成

<a href="1.gif"><img src="1.gif" border="0"/></a>dfdgfdg幅度<a href="asdfasdf"><img src="asdfasdf" border="0"/></a>dfdgfdg '
...全文
195 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
aier520 2012-05-27
  • 打赏
  • 举报
回复

$str = '<img alt="border=" src="../uploadfile/20120526/20120526171821_52124.jpg" />dfdgfdg幅度';
$pattern = "/<img(.*)src=\"(.+)\".*\/>/isU";
echo preg_replace($pattern, "<a href=\"$2\"><img src=\"$2\" $1 /></a>", $str);

你的 alt="border=" 是不是要这样放 <img XXX alt="border=" />
如果是这样,上面的应该可以,你试下
一起混吧 2012-05-27
  • 打赏
  • 举报
回复
$str = '<img src="1.gif"/>dfdgfdg幅度<img src="asdfasdf/"/>dfdgfdg<img alt="border=" src="../uploadfile/20120526/20120526171821_52124.jpg" /> '; 
echo preg_replace('/<img[^>]*src="([^"]+)"[^\/]*\/>/','<a href="\1">\0</a>',$str);
CNetol 2012-05-27
  • 打赏
  • 举报
回复
谢谢 我想办法 把 alt="border=" 放后边吧
CNetol 2012-05-27
  • 打赏
  • 举报
回复
你好,谢谢

有一个问题就是 有时候

<img alt="border=" src="../uploadfile/20120526/20120526171821_52124.jpg" />



alt border 在前面的时候就匹配不上
代码如诗 2012-05-27
  • 打赏
  • 举报
回复
$str = '<img src="1.gif"/>dfdgfdg幅度<img src="asdfasdf/"/>dfdgfdg ';
echo preg_replace('/<img\s+src="([^"]+)"[^\/]*\/>/','<a href="\1">\0</a>',$str);
qq120848369 2012-05-27
  • 打赏
  • 举报
回复
[User:root Time:13:35:38 Path:/home/liangdong/php]$ php preg.php 
<a href="1.gif"><img src="1.gif" border="0"/></a>dfdgfdg幅度<a href="asdfasdf/"><img src="asdfasdf/" border="0"/></a>dfdgfdg [User:root Time:13:35:39 Path:/home/liangdong/php]$ cat preg.php
<?php
$str = '<img src="1.gif"/>dfdgfdg幅度<img src="asdfasdf/"/>dfdgfdg ';
$str = preg_replace('/<img src="(.*)"\/>(.*)<img src="(.*)"\/>((?-U)\S+)/iUs', '<a href="\1"><img src="\1" border="0"/></a>\2<a href="\3"><img src="\3" border="0"/></a>\4' ,$str);
print_r($str);
?>

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧