preg_replace http with https

时间:2012-05-10 08:05:30

标签: php preg-replace

简单地说,我需要检查变量$ url中的字符串是否是一个简单的http,如果是这样,用https替换它 - 但我无法让它工作 - 任何想法:

$url="http://www.google.com"; // example http url ##
$url_replaced = preg_replace( '#^http://#','https://', $url ); // replace http with https ##

干杯!

4 个答案:

答案 0 :(得分:14)

为什么不str_replace

$url="http://www.google.com"; // example http url ##
$url = str_replace('http://', 'https://', $url ); 
echo $url;

答案 1 :(得分:3)

这里不需要

preg_replace()。只需使用str_replace()

str_replace('http://', 'https://', $url)

答案 2 :(得分:1)

您始终可以创建一个简单的函数,将链接返回为安全。如果你需要改变很多链接,那就容易多了。

function secureLink($url){

$url = str_replace('http://', 'https://', $url ); 
return $url;
};

答案 3 :(得分:1)

请勿使用str_replace,因为您可能会在中间替换字符串(如果url编码不正确)。

preg_replace("/^http:/i", "https:", $url)

请注意,/i参数不区分大小写,^则必须以该字符串开头。

http://sandbox.onlinephpfunctions.com/code/3c3882b4640dad9b6988881c420246193194e37e