我想使用preg_replace()
从字符串中删除域扩展.com
,因此,例如,如果主题参数是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
你必须转义点但是正则表达式必须以/pattern/
的形式传递也就是斜杠之间
preg_replace("/'.com/", "", $host);
旁注,有比使用全能的正则表达式更好的推荐方法。例如:
$url = explode(".","http://static.facebook.com");
echo $url[1]; // facebook
您需要包括像这样的正则分隔符:
$domain = preg_replace("/'.com$/i", "", $host);
还使用$将匹配锚定到字符串的末尾,并使用"i"表示"FACEBOOK.COM"的不区分大小写匹配