1

我正在尝试匹配由一些数字组成的字符串中的“ID”(范围从 1 位到 ~9 (关键是它的长度可变)。以下代码不会反向引用我的 ID,我我对 PHP 很陌生,我试过谷歌但没有好的答案。

<?php
$to = 'data-hovercard="/ajax/hovercard/user.php?id=100002781344760">Ae fj';

preg_match('/user.php?id=[\d]+\\"/', $to, $matches);

echo $matches[0];
?>

重点是在“/ajax/hovercard/user.php?id=100002781344760">”中获取“10000278134476”。任何有用的正则表达式?

4

1 回答 1

0

添加()s 来标记组应该可以工作,或者如果你想让它更有意义,你可以尝试使用命名组(?<name>)

preg_match('/user.php?id=([\d]+)\\"/', $to, $matches);
//                       ^     ^
echo $matches[1]; // capture groups indexed from 1, 0 index is for the whole matched string

有关模式 sytnax 的更多信息,请参阅文档。

于 2013-02-16T23:54:38.333 回答