3

简而言之,我需要检查变量 $url 中的字符串是否是简单的 http,如果是,请将其替换为 https - 但我无法让它工作 - 任何想法:

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

干杯!

4

4 回答 4

15

为什么不str_replace呢?

$url="http://www.google.com"; // example http url ##
$url = str_replace('http://', 'https://', $url ); 
echo $url;
于 2012-05-10T08:08:12.153 回答
3

preg_replace()在这里是不必要的。只需使用str_replace().

str_replace('http://', 'https://', $url)
于 2012-05-10T08:08:07.243 回答
1

您总是可以创建一个简单的函数来返回安全链接。如果您需要更改大量链接,则容易得多。

function secureLink($url){

$url = str_replace('http://', 'https://', $url ); 
return $url;
};
于 2013-05-22T13:20:22.490 回答
1

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

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

注意/i不区分大小写的参数,并^说它必须以此字符串开头。

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

于 2018-07-12T15:18:43.550 回答