我想解析一个类似这样的html内容:
<td class="s3_40">12,909</td>
我尝试了很多正则表达式来找到它们之间的字符串(12,909)
像:%<td class=\"s3_40\">(.*)</td>%
但我没有找到。
答案 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);