我有图像标签<img src="path_to_file.png">
,但我希望将图像标签转换为移动网站中的链接。所以我希望将 img 转换为 href:
<a href="path_to_file.png" target="_blank">Click here to open in new tab</a>
我开始使用 php dom。我可以列出所有属性。
$newdocument = new DOMDocument();
$newdocument->loadHTML();
$getimagetag = $doc->getElementsByTagName('img');
foreach($getimagetag as $tag) {
echo $src=$tag->getAttribute('src');
}
但是我们如何获取 src 属性,然后完全删除 img 标签,因为它包含其他参数,如高度和长度,然后创建新的链接标签?
大家好,我可以使用以下代码从 php dom 完成它
$input="<img src='path_to_file.png' height='50'>";
$doc = new DOMDocument();
$doc->loadHTML($input);
$imageTags = $doc->getElementsByTagName('img');
foreach($imageTags as $tag) {
$src=$tag->getAttribute('src');
$a=$doc->createElement('a','click here to open in new tab');
$a->setAttribute('href',$src);
$a->setAttribute('style','color:red;');
$tag->parentNode->replaceChild($a,$tag);
}
$input=$doc->saveHTML();
echo $input;
create 元素也可用于在<a></a>
Click...new 选项卡之间放置文本。
replacechild 用于删除 $tag ieimg
并将其替换为a
tag。通过设置属性,我们可以添加其他参数,如样式、目标等。
我最后使用了 php dom,因为我只想转换从 mysql 获得的数据,而不是转换网站徽标等其他元素。当然也可以使用javascript。
谢谢
@dave chen 用于 javascript 方式并指向检测移动链接。
@nate 指出我的答案。