php中怎样用正则将图片替换成加链接的图片?
我现在要将一段文本中的所有图片加上链接,例如:大幅度<imgsrc=""></img>dfdgfdg幅度<imgsrc=""></img>dfdgfdg怎样用正则给每个图...
我现在要将一段文本中的所有图片加上链接,
例如:大幅度<img src=""></img>dfdgfdg幅度<img src=""></img>dfdgfdg
怎样用正则给每个图片加上链接.
呵呵,可能是我说得不太清楚.让大家误解了.我的意思是要给每张图片家超链接,一点图片就链接到另一个页面 展开
例如:大幅度<img src=""></img>dfdgfdg幅度<img src=""></img>dfdgfdg
怎样用正则给每个图片加上链接.
呵呵,可能是我说得不太清楚.让大家误解了.我的意思是要给每张图片家超链接,一点图片就链接到另一个页面 展开
展开全部
<?
$str = '<img src=""></img>dfdgfdg幅度<img src=""></img>dfdgfdg ';
$url = "http://www.baidu.com";
$str = preg_replace('|(<img[^/]*>.*</img>)|Usi', "<a href=\"$url\">$1</a>", $str);
$str = preg_replace('|(<img[^/]*/\s*>)|Usi', "<a href=\"$url\">$1</a>", $str);
echo $str;
#如果每张图片都不一样就得改造成preg_replace_callback
$str = '<img src=""></img>dfdgfdg幅度<img src=""></img>dfdgfdg ';
$url = "http://www.baidu.com";
$str = preg_replace('|(<img[^/]*>.*</img>)|Usi', "<a href=\"$url\">$1</a>", $str);
$str = preg_replace('|(<img[^/]*/\s*>)|Usi', "<a href=\"$url\">$1</a>", $str);
echo $str;
#如果每张图片都不一样就得改造成preg_replace_callback
展开全部
也可以试试直接在客户端处理(建议使用此方式,可以不改变源数据):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
//<!--[CDATA[
window.onload = function(){
var s = document.body.innerHTML;
var re = /<img[^>]+?>(<\/img>)?/ig;
var temp = s.replace(re,function(s){
//var re = /\bsrc="(.+?)"(\b|>)?/ig;
//re.test(s);
//return "<a href=" + RegExp.$1 + ">" + s + "<\/a>";
return "<a href="http://www.abc.com/xxx.htm">" + s + "<\/a>"; //替换具体网址
})
//document.write(temp);//直接输出
document.write(clearHTML(temp));//输出纯代码
}
function clearHTML(s){
return s.replace(/</g, "<").replace(/>/g, ">")
}
//]]-->
</script>
</head>
<body>
大幅度<img src="111.jpg" alt="afdasdf"></img>dfdgfdg幅度<img src="112.jpg"></img>dfdgfdg
</body>
</html>
==================================
如果有具体地址更好处理,上面已做修改
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript">
//<!--[CDATA[
window.onload = function(){
var s = document.body.innerHTML;
var re = /<img[^>]+?>(<\/img>)?/ig;
var temp = s.replace(re,function(s){
//var re = /\bsrc="(.+?)"(\b|>)?/ig;
//re.test(s);
//return "<a href=" + RegExp.$1 + ">" + s + "<\/a>";
return "<a href="http://www.abc.com/xxx.htm">" + s + "<\/a>"; //替换具体网址
})
//document.write(temp);//直接输出
document.write(clearHTML(temp));//输出纯代码
}
function clearHTML(s){
return s.replace(/</g, "<").replace(/>/g, ">")
}
//]]-->
</script>
</head>
<body>
大幅度<img src="111.jpg" alt="afdasdf"></img>dfdgfdg幅度<img src="112.jpg"></img>dfdgfdg
</body>
</html>
==================================
如果有具体地址更好处理,上面已做修改
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询