2

我有一个$page包含 HTML 代码的变量 ( ),如下所示:

<html>
    <head>head</head>
    <body>
        <strong>12</strong>
        recommendations 
        <br />
        <strong>50</strong>
        connections
    </body>
</html>

现在我想50用 PHP 中的正则表达式获取连接数(在这种情况下是 ),所以我使用这个:

preg_match('#<strong>(.*)</strong>#', $page, $connections)

但这得到12,不是50。我怎么解决这个问题?

4

2 回答 2

4
preg_match('/<strong>([0-9]*)<\/strong>\s+connections/', $page, $connections);

echo $connections[1]; // 50
于 2012-10-22T16:12:54.947 回答
2

需要注意的是,不应该使用正则表达式来解析 HTML,看看preg_match_all(). 如果 HTML 遵循该结构,则您对第二个匹配感兴趣。

于 2012-10-22T16:09:18.260 回答