使用PHP正则表达式获取特定的“<elm> .. </elm>”?

时间:2012-10-22 16:07:37

标签: php html regex

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

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

现在我想用PHP中的正则表达式获取连接数(在本例中为50),所以我使用了这个:

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

但这会获得12,而非50。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:4)

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

echo $connections[1]; // 50

答案 1 :(得分:2)

请注意,不应使用正则表达式来解析HTML,请查看preg_match_all()。如果HTML遵循该结构,则您对第二场比赛感兴趣。