Скажем, у меня есть реферер, который http://dwz07.foo.net/Player.aspx?All&PID=4321&UID=359010016&STime=921596&SToken=5c93210bdb17ab2c930a1e365b8b05a8e6aca013
Каким было бы правильное регулярное выражение для включения всего до и после foo.net? Мол, я хочу включить каждый поддомен и все после foo.net/
Лучшее, что я могу придумать:
^ ([^.] +). Foo.net $
Но это не работает.
Спасибо.
$ привязывает регулярное выражение к концу строки, поэтому оно будет соответствовать только URL-адресу, который заканчивается на .net.
$
.net
Ваш URL не заканчивается .net, у него есть / после: просто удалите $, чтобы это исправить.
/
Попробуйте это:
$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);