0

有一个 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 。

请帮忙。

4

2 回答 2

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>";
于 2013-04-16T03:40:17.427 回答
0

而不是使用删除的“.png”附加$k附加$kstr_replace()

$imgl .= "< div class=\"img_thumb\" >< a href=\"**$link_page**" . str_replace('.png', '', $k) . "\">";
于 2013-04-16T03:43:49.010 回答