1

嗨,我想知道如何删除 url 中的所有重复字符,但保持 http:// 和查询字符串完好无损。

示例网址:

https://domain.com:800///some/here..jpg

目前有这段代码可以删除重复的字符:

preg_replace('/([^a-zA-Z0-9-_\s])\\1+/', '$1', urldecode($url))

并决定:

https:/domain.com:800/some/here.jpg <-- removed the / from https://

我怎样才能允许只替换路径并保持其余部分完好无损?

4

1 回答 1

1

我不擅长正则表达式,所以我可以在不修改代码的情况下为您提供替代解决方案:

$url = "https://domain.com:800///some/here..jpg";
$url_without_https = substr($url, 8); //assuming its always https://
$urlModified = preg_replace('/([^a-zA-Z0-9-_\s])\\1+/', '$1', urldecode($url_without_http));
$url = "http://" . $urlModified;
于 2013-04-19T02:45:50.920 回答