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



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

所以我想举个例子;

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

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

我已经尝试preg_replace,str_replaceparse_url将其从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" 

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

$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;

最新更新