简而言之,我需要检查变量 $url 中的字符串是否是简单的 http,如果是,请将其替换为 https - 但我无法让它工作 - 任何想法:
$url="http://www.google.com"; // example http url ##
$url_replaced = preg_replace( '#^http://#','https://', $url ); // replace http with https ##
干杯!
简而言之,我需要检查变量 $url 中的字符串是否是简单的 http,如果是,请将其替换为 https - 但我无法让它工作 - 任何想法:
$url="http://www.google.com"; // example http url ##
$url_replaced = preg_replace( '#^http://#','https://', $url ); // replace http with https ##
干杯!
为什么不str_replace
呢?
$url="http://www.google.com"; // example http url ##
$url = str_replace('http://', 'https://', $url );
echo $url;
preg_replace()
在这里是不必要的。只需使用str_replace()
.
str_replace('http://', 'https://', $url)
您总是可以创建一个简单的函数来返回安全链接。如果您需要更改大量链接,则容易得多。
function secureLink($url){
$url = str_replace('http://', 'https://', $url );
return $url;
};
不要使用str_replace
,因为它可能会在中间替换字符串(如果 url 编码不正确)。
preg_replace("/^http:/i", "https:", $url)
注意/i
不区分大小写的参数,并^
说它必须以此字符串开头。
http://sandbox.onlinephpfunctions.com/code/3c3882b4640dad9b6988881c420246193194e37e