尝试删除正在返回imgurl的完整网址: 通常会返回http://localhost/wordpress/wp-content/uploads/filename.jpg之类的内容 或http://localhost/wordpress/wp-content/uploads/images/filename.jpg
我想剥离除filename.jpg之外的所有内容并将其返回 ahng_photos_upload_image。剥离一切到最后的正斜线。 我怎么能用Jquery做到这一点?
window.send_to_editor = function(html) {
imgurl = jQuery('img',html).attr('src');
jQuery('#ahng_photos_upload_image').val(imgurl);
tb_remove();
}
答案 0 :(得分:24)
你不需要jQuery,只需普通的旧JavaScript即可:)
alert('http://localhost/wordpress/wp-content/uploads/filename.jpg'.split('/').pop());
在你的情况下:
var filename = imgurl.split('/').pop();
答案 1 :(得分:2)
你可以使用正则表达式来实现这个目的。
var file = imgUrl.replace(/^.*[\\\/]/, '');
现在文件只包含文件名..
答案 2 :(得分:1)
如果你非常确信这些网址没有像哈希或参数这样的有趣内容,那么像这样的正则表达式会这样做:
var filename = imgurl.replace(/^.*\/([^/]*)$/, "$1");
另外:不要忘记使用var
声明“imgurl”,如果你的jQuery版本,你应该可能使用.prop()
而不是.attr()
是1.6或更新:
var imgurl = jQuery('img', html).prop('src');
jQuery也在内部将函数的双参数形式转换为:
var imgurl = jQuery(html).find('img').prop('src');
所以你不妨用这种方式编码。
答案 3 :(得分:1)
答案 4 :(得分:0)
答案 5 :(得分:0)
你有
var filename = imgurl.split('/').slice(-1);
祝你好运!
答案 6 :(得分:0)
请注意,如果您不知道是否有正斜杠或反斜杠,那么最好使用RE版本的分割:
"path".split(/[\/\\]/).slice(-1)
答案 7 :(得分:0)
当您的文件名类似于./file.jpg
时,这个答案将起作用var extension = fileName.slice((fileName.lastIndexOf(".") - 1 >>> 0) + 2);
var baseName = fileName.replace(/^.*\/([^/]*)$/, "$1");
var path = fileName.replace(/(^.*\/)([^/]*)$/, "$1");