正则表达式重复模式捕获所有HTML表列内容

时间:2016-03-30 19:33:03

标签: php html regex preg-replace

我正在尝试捕获HTML表格中的所有列内容。我非常接近,但我的正则表达式只捕获每个表的第一列。我需要做什么来捕获所有列?

这是我的正则表达式和HTML:https://regex101.com/r/jA3sS6/1

1 个答案:

答案 0 :(得分:1)

不要使用正则表达式,而是使用Parser!

从这开始:

$dom = new DOMDocument();
libxml_use_internal_errors(1);
$dom->loadHTML( $html );
$xpath = new DOMXPath( $dom );

要检索所有<td>

foreach( $dom->GetElementsByTagName( 'td' ) as $td )
{
    echo $td->nodeValue . PHP_EOL;
}

要检索所有<td class="large-text">

foreach( $xpath->query( '//td[@class="large-text"]' ) as $td )
{
    echo $td->nodeValue . PHP_EOL;
}