简单地说,我需要检查变量$ url中的字符串是否是一个简单的http,如果是这样,用https替换它 - 但我无法让它工作 - 任何想法:
$url="http://www.google.com"; // example http url ##
$url_replaced = preg_replace( '#^http://#','https://', $url ); // replace http with https ##
干杯!
答案 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