0

我想解析具有以下内容的 html 内容:

<td class="s3_40">12,909</td>

我尝试了许多正则表达式来查找(12,909)之间的字符串,例如:%<td class=\"s3_40\">(.*)</td>% 但我没有找到。

4

4 回答 4

0

希望这可以帮助:

$str = '<td class="s3_40">12,909</td>';
if (preg_match('#<td class="s3_40">(.*)</td>#s',  $str, $matches)) {
    var_dump($matches[1]);
}
于 2012-07-05T03:43:59.170 回答
0

如果你必须用正则表达式来做。您可以尝试这样的模式:

/<td[^>]*>(.*?)<\/td>/
于 2012-07-05T06:30:54.797 回答
0

尝试这样做,只需将 s3_41、s3_42 等添加到您需要的类中即可。

<?php
$s = '<td class="s3_40">12,909</td>';
$pat = '@<td class=".*(s3_40|s3_41).*".*?>(.*?)</td>@isU';
preg_match_all($pat,$s,$ms);
var_dump($ms);
于 2012-07-05T09:38:33.587 回答
0

尝试这个

#(?<=(s3_40">))([^<]+)(?=(</td>))#
于 2012-07-05T08:58:34.813 回答