我有一块html,里面有很多<img src="..."/>
。
现在我正在寻找一种方法:
<img src="lol.jpg"/>
进入:
<a href="lol.jpg" class="image_inside_text" target="_blank">
<img src="lol.jpg"/>
</a>
我们的想法是在新页面中打开图像以查看完整大小的图像,我正在添加一个类,以防我想稍后将其变成弹出窗口。 我希望用PHP做到这一点,有人可以帮助我吗?
谢谢
答案 0 :(得分:1)
他在PHP中寻求解决方案(参见标签)。
$string = <<<EOD
<img src="lol.jpg">
<img src="lol.jpg"/>
<img src="lol.jpg" alt="sufix"/>
<img alt="prefix" src="lol.jpg"/>
EOD;
$pattern = '/<img[^>]+src="([a-z.]+)"[^>]*>/i';
$replacement = '<a href="${1}">${0}</a>';
echo preg_replace($pattern, $replacement, $string);
答案 1 :(得分:0)
好吧,只需使用一些jquery,试试这个:
<script>
$(function(){
$('.thisimg').replace('<a href="your location" class="your class" target="_blank"><img src="your src" class="thisimg" /></a>');
});
</script>
<img src="your src" class="thisimg" />
答案 2 :(得分:0)
有几种方法可以做到这一点......大部分涉及Javascript。
看看jquery的方法wrap()
,它将任何选定的元素包装到另一个元素中:
$("img").each(function() {
var href = $(this).attr("href");
$(this).wrap("<a href='"+href+"' class='image_inside_text' target='_blank'></a>");
});
答案 3 :(得分:0)
你可以使用jQuery:
$(function(){
$('img').each(function() {
var src = $(this).attr("src");
$( this ).replaceWith('<a href="' + src +'" class="image_inside_text" target="_blank"><img src="' + src + '"/></a>')
});
});
答案 4 :(得分:0)
您可以使用输出缓冲:ob_start并执行类似于此示例的操作,并将回调替换为test30建议的内容:
<?php
function callback($buffer)
{
// replace all the apples with oranges
return (str_replace("apples", "oranges", $buffer));
}
ob_start("callback");
?>
<html>
<body>
<p>It's like comparing apples to oranges.</p>
</body>
</html>
<?php
ob_end_flush();
?>