PHP регулярное выражение, чтобы включить все до и после доменного имени - PullRequest
0 голосов
/ 14 января 2011

Скажем, у меня есть реферер, который http://dwz07.foo.net/Player.aspx?All&PID=4321&UID=359010016&STime=921596&SToken=5c93210bdb17ab2c930a1e365b8b05a8e6aca013

Каким было бы правильное регулярное выражение для включения всего до и после foo.net? Мол, я хочу включить каждый поддомен и все после foo.net/

Лучшее, что я могу придумать:

^ ([^.] +). Foo.net $

Но это не работает.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 21 августа 2015

$ привязывает регулярное выражение к концу строки, поэтому оно будет соответствовать только URL-адресу, который заканчивается на .net.

Ваш URL не заканчивается .net, у него есть / после: просто удалите $, чтобы это исправить.

0 голосов
/ 14 января 2011

Попробуйте это:

$string = 'http://dwz07.foo.net/Player.aspx?All&PID=4321&UID=359010016&STime=921596&SToken=5c93210bdb17ab2c930a1e365b8b05a8e6aca013';
$pattern = '/^(.*)(?:\.foo.net.*)/';
$replacement = '$1';
echo preg_replace($pattern, $replacement, $string);
...