有一个php图库代码,从图像目录创建一个图库。
当点击图像时,它有一个超链接来显示图像的更大预览。我有一个需要,我想改变超链接直接到我的网站上的不同页面,我能够,但它保留文件夹中的文件扩展名,例如myimage.png
为了使我的链接正常工作,需要从myimage
中删除。png。示例:当定义我的链接时,它是这样的:mysitepage.html?myiframe=myothersitepage.html%3Fmyimage
因此,在代码中,我将链接的这一部分定义为:
**$link_page** = '../mysitepage.html?myiframe=myothersitepage.html%3F';
在图像名称下面的代码中被定义为$k
所以在原始代码中我改变了这行:
$imgl .= "< div class='"img_thumb'" >< a href='"$k'">
读:
$imgl .= "< div class='"img_thumb'" >< a href='"**$link_page**$k'">
返回链接:mysitepage.html?myiframe=myothersitepage.html%3Fmyimage.png
再次,我不知道如何摆脱。png在该链接。
请帮。
在PHP中使用扩展名之前将其替换为空字符串:
$k = str_ireplace('.png', '', $k);
如果你想在客户端完成,这里有一个jQuery解决方案:
$(function() {
$('.img_thumb a').each(function() {
var link = $(this).attr('href').replace(/'.png$/i, '');
$(this).attr('href', link);
});
});
如果你想替换所有扩展名:
$k = preg_replace('/'.[a-z]+$/i', '', $k);
和jQuery:
$(function() {
$('.img_thumb a').each(function() {
var link = $(this).attr('href').replace(/'.[a-z]+$/i, '');
$(this).attr('href', link);
});
});
如果您在多个地方使用$k(您之前没有提到),您还可以执行replace inline:
imgl .= "<div class='"img_thumb'">
<a href='"$link_page".str_ireplace('.png', '', $k)."'">
<img src='"gallery.php?thumb=$k'" alt='"$alt'" title='"$alt'" />
</a>
</div>";
代替$k
附加$k
,使用str_replace()
删除'.png'
$imgl .= "< div class='"img_thumb'" >< a href='"**$link_page**" . str_replace('.png', '', $k) . "'">";