【发布时间】:2013-02-20 03:18:59
【问题描述】:
我想切换链接的协议。如果是http,应该变成https,https应该变成http。我正在使用 pre_replace 但出了点问题。
有人可以看看我的代码并告诉我在思考过程中缺少什么吗?
代码如下:
$pattern = array(
0 => '/^(http\:)/',
1 => '/^(https\:)/'
);
$replace = array(
0 => 'https:',
1 => 'http:'
);
ksort($pattern);
ksort($replace);
$url = 'http://someurl.com';
echo $url."<br />";
$url = preg_replace($pattern, $replace, trim($url),1);
die($url);
【问题讨论】:
-
如果我错了,请纠正我,但第一个模式不会总是匹配,即使协议是 https?
-
@Nanne 重复的解决方案是非常错误的。我在那里留下了评论。代码也会产生致命错误。
-
但这个问题还是个骗子,不是吗?