说我有以下内容:
<img src="http://www.site.com/folder/pic.jpg">
这条路径可能是任何东西,我们基本上想要将“pic.jpg作为变量。”
目前我们这样做:
var first_img = $("#thumbnail-area li:first").find("img").attr("title");
将first_img
变量设置为图像src,但我们想要在PHP中进行preg匹配,以获取“pic.jpg”。
这必须正常运行,因此路径可以是:folder/foo/bar/x982j/second822.jpg
并且它会返回second822.jpg
我该怎么做?
答案 0 :(得分:20)
您可以使用replace()
,就像PHP的preg_replace()
一样(它也接受PCRE,但有一些限制,例如无后顾之处)......
str.replace(/.*\//, '')
或者,你可以使用......
str.split('/').pop();
答案 1 :(得分:5)
这里没有必要使用jQuery; Javascript本身支持正则表达式,因此jQuery不是答案的一部分。
Javascript的regex替换函数简称为.replace()
,是字符串类的一个方法。您可以按如下方式使用它:
var mystring = 'this is a string';
mystring.replace(/is a/,'might be a');
//mystring is now equal to 'this might be a string'.
这应该足以让你入门。由于您在问题中引用了preg_replace()
,我假设您已经知道如何使用正则表达式,而不需要详细讨论如何解决您的具体示例。
答案 2 :(得分:1)
这里的工作示例:http://jsfiddle.net/jkeyes/sxx3T/
var re = new RegExp(".*\/(.*)$");
var src="folder/foo/bar/x982j/second822.jpg";
var m = re.exec(src);
alert(m[1]); // first group