0

假设我有一个推荐人是http://dwz07.foo.net/Player.aspx?All&PID=4321&UID=359010016&STime=921596&SToken=5c93210bdb17ab2c930a1e365b8b05a8e6aca013

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

我能想到的最好的:

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

但这不起作用。

谢谢你。

4

2 回答 2

0

尝试这个:

$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);
于 2011-01-14T03:14:39.600 回答
0

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

您的 URL 没有以 结尾.net,它有一个/after: 只需删除$即可修复。

于 2015-08-21T08:55:08.990 回答