如何php给img标签里的src加链接
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何php给img标签里的src加链接相关的知识,希望对你有一定的参考价值。
<p align="center"><span style="font-size: 12pt"><span style="font-family: 宋体"><img alt="clip_image001.jpg" src="/uploadfiles/201510/13/2015101314135556050791.jpg" /></span></span></p>这样的代码,我如何匹配出
<p align="center"><span style="font-size: 12pt"><span style="font-family: 宋体"><img alt="clip_image001.jpg" src="http://www.baidu.com/uploadfiles/201510/13/2015101314135556050791.jpg" /></span></span></p>
就是在img src里补全地址
首先你要取到img标签的src值
$pattern ='<img.*?src="(.*?)">';$html = '<img id="pic" name="pic" src="aaa.jpg" style="width: 640px;">';
preg_match($pattern,$html,$matches);
echo $matches[1];
然后再处理它的值
参考:http://nabin.cloudsx.cn/index.php/archives/1384
参考技术A 最好不要这样搞PHP - 替换 <img> 标签并返回 src
【中文标题】PHP - 替换 <img> 标签并返回 src【英文标题】:PHP - replace <img> tags and return src 【发布时间】:2012-11-26 20:26:24 【问题描述】:任务是用<div>
标签和src
属性替换给定字符串中的所有<img>
标签作为内部文本。
在寻找答案时我找到了similar question
<?php
$content = "this is something with an <img src=\"test.png\"/> in it.";
$content = preg_replace("/<img[^>]+\>/i", "(image) ", $content);
echo $content;
?>
结果:
this is something with an (image) in it.
问题:如何升级脚本ant得到这个结果:
this is something with an <div>test.png</div> in it.
【问题讨论】:
您不想使用正则表达式来解析 HTML。他们不能胜任这项任务。您的正则表达式解决方案非常脆弱。 htmlparsing.com/regexes.html 解释了原因。 【参考方案1】:这是 PHP 的 DOMDocument
类擅长的问题:
$dom = new DOMDocument();
$dom->loadHTML($content);
foreach ($dom->getElementsByTagName('img') as $img)
// put your replacement code here
$content = $dom->saveHTML();
【讨论】:
$img->setAttribute( 'src', $new_src_url );
【参考方案2】:
$content = "this is something with an <img src=\"test.png\"/> in it.";
$content = preg_replace('/(<)([img])(\w+)([^>]*>)/', '<div>$1</div>', $content);
echo $content;
【讨论】:
以上是关于如何php给img标签里的src加链接的主要内容,如果未能解决你的问题,请参考以下文章