2012-05-10 2 views
3

Проще говоря, мне нужно проверить, является ли строка в переменной $ url простой http, если это так, замените ее на https - но я не могу заставить ее работать - любые идеи:preg_replace http с https

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

Приветствия!

ответ

12

Почему не str_replace?

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

вы оба ответили одновременно .. поэтому Каро получить это очки, как он/она имеет меньше .. –

+1

Просто будьте осторожны URL не содержат параметры запроса с другим URL в нем. Например: 'echo str_replace ('http: //', 'https: //', 'http://foo.com?redirect=http://bar.com'); // https: //foo.com? redirect = https: // bar.com' – lizlux

3

preg_replace() здесь не нужно. Просто используйте str_replace().

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

Вы всегда можете создать простую функцию, которая возвращает ссылку как безопасную. Гораздо проще, если вам нужно изменить множество ссылок.

function secureLink($url){ 

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