使用jQuery从图像中剥离pagespeed模块扩展

时间:2015-01-17 22:50:23

标签: jquery pagespeed mod-pagespeed google-pagespeed

我的网站上有这个jQuery功能,可以在Facebook上添加分享按钮,这些功能非常出色。

问题是,现在我已经在我的服务器上安装了Google的Pagespeed模块,以使事情变得更快。除了一件事之外,它就像魅力一样:

图片现在获得了页面扩展,Facebook似乎并不喜欢。

所以,我正在寻找的是获取图像src的功能(这已经到位),剥离添加的pagespeed扩展,并发回“原始”图像src。

我正在像这样获取图像src:

img = $(this).attr('src');

我没有的功能是在此功能之后剥离pagespeed扩展名。

google pagespeed图片看起来像这样:

http://my-site.com/wp-content/uploads/700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp

问题是,需要删除两部分:

700x524x 之前图片名称...

...以及文件扩展名后的所有 .pagespeed.ic.9rlwkDUtDK.webp

那里有一些古茹可以建议我解决这个问题吗?

谢谢!

// Jens。

1 个答案:

答案 0 :(得分:0)

您可能希望使用正则表达式来匹配您要执行(并且不要)保留的字符串部分,然后您可以使用反向引用来提取原始文件名。此处的文件名将位于匹配的组$1

\d*x\d*x(.*)\.pagespeed.*

请参阅https://regex101.com/r/jR8fI3/1

上的示例

在javascript中:

var image = "700x524ximagename700x524.jpg.pagespeed.ic.9rlwkDUtDK.webp";
var original = image.replace(/\d*x\d*x(.*)\.pagespeed.*/, "$1");
alert(original);

请参阅http://jsfiddle.net/1afhzfxa/

上的示例