使用preg_replace从字符串中删除域扩展名?

时间:2011-08-18 21:28:16

标签: php regex

我想使用.com从字符串中删除域扩展名preg_replace(),例如,如果主题参数为facebook.com,则.com将从字符串。

我认为这样可行,preg_replace(".com", "", $host);

不幸的是它返回了错误:Warning: preg_replace() [function.preg-replace]: No ending delimiter '.' found in

然后我试图用反斜杠逃避这段时间(认为这是问题),它返回了:

Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash

任何评论,答案或信息将不胜感激!! :)

2 个答案:

答案 0 :(得分:0)

你必须逃避点,但正则表达式必须以/pattern/的形式传递,这是斜杠之间

preg_replace("/\.com/", "", $host); 

旁注,除了使用全能的正则表达式之外,还有更好的推荐方法。例如:

$url = explode(".","http://static.facebook.com");   
echo $url[1]; // facebook

答案 1 :(得分:0)

您需要包含正则表达式分隔符,如下所示:

$domain = preg_replace("/\.com$/i", "", $host);

还使用$将匹配锚定到字符串结尾,并使用“i”表示不区分大小写匹配“FACEBOOK.COM”