从字符串(未序列化的密钥)删除HTTP://时出现问题

时间:2018-10-23 15:03:31

标签: php preg-replace str-replace parse-url

我有一些网址需要从字符串中删除http://或https://。

我想举个例子;

http://www.google.co.uk to become just www.google.co.uk
https://www.yahoo.com to become just www.yahoo.com

正在从未序列化为键的mysql数据库中的序列化数据中检索字符串($ url)。

我尝试过 preg_replace str_replace parse_url 将其从网址中剥离

preg_replace('#^https?://#', '', $url);

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

$url = parse_url($url);

我已经搜索并尝试了许多方法,但不会将其删除,并且网址保持不变。.

如果我设置了字符串-str_replace可以正常工作

$url = "http://www.google.co.uk"; // www.google.co.uk

它无法处理完整保留的未序列化数据...

// $website from unserialized data - $website=$value;

$url = $website;
$url2 = "https://www.yahoo.co.uk";

$url = str_replace(array('http://',"https://"), '', $url);
$url2 = str_replace(array('http://',"https://"), '', $url2);

echo $url; // http://www.google.co.uk
echo $url2; // www.yahoo.co.uk

$ website的值

var_dump($website);  //  string(33) "http://www.google.co.uk" 

1 个答案:

答案 0 :(得分:1)

正如其他人所说,您的字符串有效,但是您需要进行更改

$url = "http://www.google.co.uk";
$url2 = "https://www.yahoo.co.uk";

$url = str_replace(array('http://',"https://"), '', $url);
$url2 = str_replace(array('http://',"https://"), '', $url2);

echo $url;
echo $url2;