1

如果 HTTP_HOST 是 [ANY].yomomedia.com,我需要获取“yomomedia.com”,除非它是“dev.yomomedia.com”,否则它应该返回 dev.yomomedia.com

echo preg_replace("/^([EVERYTHING-OTHER-THAN-DEV])\./Ui","",$_SERVER['SERVER_NAME'])

刚刚尝试了以下没有成功:

echo preg_replace("/^(?!dev)\./Ui",'','www.yomomedia.com'); // returns www.yomomedia.com
echo preg_replace("/^(?!dev)\./Ui",'','dev.yomomedia.com'); // returns dev.yomomedia.com
4

2 回答 2

4

消极被动组(前瞻)应该:

/^(?!dev).*\./Ui
于 2009-08-11T18:30:25.700 回答
2

环视不会“消耗”任何字符。所以你的表达式意味着前三个字符不是dev^(?!dev))并且第一个字符是句号^\.)。

所以试试这个:

/^(?!dev\.)[^.]+\./Ui

或者:

/^[^.]+\.(?<!^dev\.)/Ui
于 2009-08-11T18:55:38.923 回答