0

我有一个链接列表,其中一些包含 http:/ 而不是 http:// 但我无法搜索 http:/ 因为 http:// 也可能存在并且将一个 / 替换为多个可能会改变路径。 ..

那么有人可以告诉我如何将 (ftp|http(s)):/ 更改为 (ftp:http(s))://

4

2 回答 2

3

将 http:// 替换为 http:// ,然后将 http:/ 替换为 http:// ;) 这是一个快速而肮脏的修复方法,但它确实有效。

于 2013-07-04T21:07:07.390 回答
0

这应该有效(没有双重替换):

<?
echo preg_replace("#(http|ftp|https):/([^/])#", "$1://$2", 'http://www.google.com');
echo "<br>";
echo preg_replace("#(http|ftp|https):/([^/])#", "$1://$2", 'http:/www.google.com');
?>

如果没有双斜杠,这只会进行替换。

于 2013-07-04T21:47:14.687 回答