怎么把原来的 url 得到的某个地址,替换其中的域名呢?

2022-12-10 11:33:52 +08:00
 SkyRing

比如原来$url 得到 xxx.com/sadasd.jpg ,想要变成 aaa.com/sadasd.jpg ,这样子,怎么弄呢?

2315 次点击
所在节点    PHP
9 条回复
GreatAuk
2022-12-10 11:54:47 +08:00
const url = new URL('https://www.v2ex.com/t/901497#reply0')
url.host = 'www.baidu.com'
console.log(url.href)
muzihuaner
2022-12-10 11:57:10 +08:00
可以问一下 chatgpt😂
dongisking
2022-12-10 12:03:30 +08:00
```
$str = 'xxx.com/sadasd.jpg';
$replace = 'aa.com';
$search = 'xxx.com';
echo str_ireplace($search, $replace, $str);
```
Thecosy
2022-12-10 12:28:25 +08:00
@muzihuaner 如果你想替换 URL 中的域名,你可以使用字符串操作来构造新的 URL 。下面是一个示例:

Copy code
// Define the old and new domain names
const oldDomain = "old-domain.com";
const newDomain = "new-domain.com";

// Define the URL
const url = "http://old-domain.com/path/to/page.html";

// Replace the domain name in the URL
const newUrl = url.replace(oldDomain, newDomain);

// Print the new URL
console.log(newUrl); // "http://new-domain.com/path/to/page.html"
在这个例子中,我们定义了原来的域名和新的域名,然后使用 String.replace() 方法来替换 URL 中的域名。

希望这对你有帮助!
来自 chatgpt
neotheone2333
2022-12-10 12:36:37 +08:00
可以多问一句:我想要一个更通用的方法

如果你想要一个更通用的方法来替换 URL 中的域名,那么你可以使用一个函数来实现。例如,下面是一个简单的函数,它可以接收一个 URL 和一个新的域名,然后返回替换后的 URL 。

Copy code
function replaceDomain(url, newDomain) {
let oldDomain = /[^/]*?(?=\/)/;
return url.replace(oldDomain, newDomain);
}
在这个函数中,我们首先使用正则表达式 /[^/]*?(?=\/)/ 来匹配 URL 中的域名。这个正则表达式的工作原理是,先匹配所有不含斜杠的字符,然后在后面加上一个非贪婪的匹配,用来匹配第一个出现的斜杠。

然后,我们使用 replace 方法来替换原来的域名。最后,我们返回替换后的 URL 。

下面是一个使用这个函数的例子:

Copy code
let oldUrl = 'xxx.com/sadasd.jpg';
let newUrl = replaceDomain(oldUrl, 'aaa.com');
console.log(newUrl); // 输出 aaa.com/sadasd.jpg
希望这些信息能够帮助你。如果你还有其他问题,请继续提问。
hqt1021
2022-12-10 12:41:09 +08:00
@Thecosy 卧槽?真 tm 来 ChatGPT
ChoateYao
2022-12-10 14:07:34 +08:00
用 parse_url 想想怎么替换就怎么替换。
SkyRing
2022-12-10 14:47:58 +08:00
有点看不懂,我还是抽空在补习一下好了。不过解决了,虽然是 js 随便糊了一下。先用着好了。
jifengg
2022-12-12 09:07:19 +08:00
一楼已经给了 js 的标准答案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901497

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX