Preg Pattern Finding

时间:2012-07-05 03:18:32

标签: php regex preg-match

我想解析一个类似这样的html内容:

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

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

4 个答案:

答案 0 :(得分:0)

希望这可以提供帮助:

$str = '<td class="s3_40">12,909</td>';
if (preg_match('#<td class="s3_40">(.*)</td>#s',  $str, $matches)) {
    var_dump($matches[1]);
}

答案 1 :(得分:0)

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

/<td[^>]*>(.*?)<\/td>/

答案 2 :(得分:0)

试试这个

#(?<=(s3_40">))([^<]+)(?=(</td>))#

答案 3 :(得分: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);