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

ルックアラウンドは文字を「消費」しません。したがって、あなたの表現は、最初の 3 文字がdev( ^(?!dev))ではなく、かつ最初の文字がピリオド( ) であることを意味します^\.

したがって、次のいずれかを試してください:

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

または:

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