3

我希望你能帮助我创建一个正则表达式,它将从 URL 中提取图像名称。几天来我一直在尝试创建正则表达式,但我无法让它工作。

案例: 我有一个使用 phpThumb 创建的图像 url,如下所示: \bla\thumb\phpThumb.php?src=/bla/images/thisistheimage.jpg&fltr[]=wmt|40|B|FFFFFF|georgia.ttf|35&hash=b7412f04f09cd6b488435231651d61453

不,我需要提取以下内容:thisistheimage.jpg

一些事实:

  • 图像名称前总是有一个“ / ”;
  • 图像名称后始终跟一个 amp ( & );
  • 图片扩展名也可以是:jpeg、JPG、png、PNG、gif;

我设法抓住的只是图像扩展名(?:png|jpg|gif)

你能帮我在这种情况下我必须使用什么正则表达式吗?

我可以在 javascript 或 PHP 中使用正则表达式,你在哪里推荐它?(我使用 javascript 提交表单,表单操作是在 PHP 中完成的)。

4

2 回答 2

4
/\/([A-Z0-9_-]{1,}\.(?:png|jpg|gif|jpeg))/i

我认为这应该有效。i 标记不区分大小写

  • 匹配斜线 /
  • 字母数字、,和 - 一个或多个 [A-Z0-9 -]{1,}
  • 时期 。
  • 扩展名 (?:png|jpg|gif|jpeg)
于 2012-10-09T18:02:58.707 回答
0

既然你已经标记了,为什么不通过document.images并获得你想要的图像呢?

像这样:

// add a proxy to all images in the page

var proxy = 'https://proxytea.appspot.com/'

for (var x=0; x<document.images.length; x++) {
    imagem = document.images[x];
    imagem.src = imagem.src.replace(location.protocol + '//', proxy);
}
于 2012-10-09T18:06:16.377 回答