Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Javascript替换URL的各个部分_Javascript_Bookmarklet - Fatal编程技术网

用Javascript替换URL的各个部分

用Javascript替换URL的各个部分,javascript,bookmarklet,Javascript,Bookmarklet,我正在尝试创建一个bookmarklet,它将包含URL的一部分并重定向到新的URL,但我需要更改URL中两个独立的部分 基本URL可以是: 78.media.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmdiF7f1r9qk1io1_1280.png 我需要它像这样结束: s3.amazonaws.com/data.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmd

我正在尝试创建一个bookmarklet,它将包含URL的一部分并重定向到新的URL,但我需要更改URL中两个独立的部分

基本URL可以是:

78.media.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmdiF7f1r9qk1io1_1280.png

我需要它像这样结束:

s3.amazonaws.com/data.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmdiF7f1r9qk1io1_raw.png

所以我需要替换78.media.tumblr.com和1280

我试着用window.location.assign和location.href.replace来设计一些东西,但我还是个新手,无法理解。

你可以用和window.location.href来实现这一点。这是假设你只是在看不倒翁虽然。如果你不是,正则表达式中还有一个步骤

// first get the url
var url = window.location.href;

// Use regex to keep only the parts we want and replace the others
var newUrl = url.replace(/.*(\.tumblr.*\_).*(\..*)/, 'http://s3.amazonaws.com/data$1raw$2')

// go to the new page
window.location.href = newUrl;

通常,您可以使用string.prototype.replace替换字符串的各个部分。根据您需要匹配的灵活性,您可以将正则表达式调整为或多或少的“匹配”

const startUrl='78.media.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmdiF7f1r9qk1io1_1280.png' const endUrl='s3.amazonaws.com/data.tumblr.com/fc87fac5ea0d88e1e22a214d25a169ee/tumblr_p3fjmdiF7f1r9qk1io1_raw.png' 常量Tumblergex=/.*\.tumblr\.com/ 常数numberRegex=/\ud{4}/ 函数转换启动{ 返回start.replaceTumblergex,'s3.amazonaws.com/data.tumblr.com'.replacenumberRegex,'uraw' }
console.logtransformstartUrl==endurl我建议您发布代码以解决问题使用str_replace,google it.Hmm,这几乎是完美的,只是它重定向到了错误的页面;不是替换整个URL,而是用新URL替换了一半的旧URL,所以我得到了一些类似于Btw的东西,这部漫画太棒了。是的!就这样,非常感谢:>是的,我喜欢这部喜剧lol