PHP正则表达式包含域名前后的所有内容

PHP正则表达式包含域名前后的所有内容,php,regex,referrer,Php,Regex,Referrer,假设我有一个推荐人 在foo.net前后包含所有内容的合适正则表达式是什么?比如,我想包括foo.net之后的每个子域和所有内容/ 我能想出的最好办法是: ^([^.]+).foo.net$ 但这不起作用 谢谢。试试这个: $string = 'http://dwz07.foo.net/Player.aspx?All&PID=4321&UID=359010016&STime=921596&SToken=5c93210bdb17ab2c930a1e365b8b05a

假设我有一个推荐人

在foo.net前后包含所有内容的合适正则表达式是什么?比如,我想包括foo.net之后的每个子域和所有内容/

我能想出的最好办法是:

^([^.]+).foo.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);

$
将正则表达式锚定到字符串的末尾,因此它将只匹配以
.net
结尾的URL

您的URL不是以
.net
结束的,它后面有一个
/
:只需删除
$
即可解决此问题