这是我的PHP代码,
$string = 'https://www.mydomain.lk/';
$wordlist = array("http://", "www.", "https://", "/");
foreach ($wordlist as &$word) {
$word = '/\b' . preg_quote($word, '/') . '\b/';
}
echo $string2 = preg_replace($wordlist, '', $string);
我想从$ string中删除最后一个“/”。 所以我将“/”添加到$ wordlist数组,但它不起作用。
有人可以帮我解决这个问题。 感谢。
答案 0 :(得分:2)
在大多数情况下,您希望提取主机名:
$host = parse_url($url, PHP_URL_HOST);
然后可以单独删除前导www.
。
preg_replace('/^www\./', '', $host);
答案 1 :(得分:1)
您可以使用rtrim():
$string = 'https://www.mydomain.lk/';
echo rtrim($string, '/'); //gives --> https://www.mydomain.lk
答案 2 :(得分:1)
您只想替换字符串末尾的/
,因此您需要$
,例如/$
,但preg_quote
最终会转义$
1}}。
删除尾随/
的最佳方法是使用rtrim,就像Sudhir建议的那样。或者,您可以删除preg_quote
循环,只使用$wordlist
中的正则表达式:
$string = 'https://www.mydomain.lk/';
$wordlist = array("#https?://#", "#www\.#", "#/$#");
echo $string2 = preg_replace($wordlist, '', $string);
答案 3 :(得分:0)
试试这个
$url= 'https://www.mydomain.lk/';
echo $newurl = rtrim($url,"/");
像这种格式输出
https://www.mydomain.lk
答案 4 :(得分:0)
请试试这个:
$string = 'https://www.mydomain.lk/';
$uri = parse_url($string);
$domain = str_replace("www.", "", strtolower($uri['host']));
echo $domain;