有一个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。
请帮忙。
答案 0 :(得分:3)
在使用之前用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(之前没有提到),你也可以执行内联替换:
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>";
答案 1 :(得分:0)
使用$k
$k
附加str_replace()
并附加'.png'而非附加{p>}
$imgl .= "< div class=\"img_thumb\" >< a href=\"**$link_page**" . str_replace('.png', '', $k) . "\">";