捕获所有 HTML Table 列内容的正则表达式重复模式
Regex Repeating Pattern to Capture All HTML Table Column Contents
我正在尝试捕获 HTML table 秒内的所有列内容。我非常接近,但我的正则表达式只捕获每个 table 的第一列。我需要做什么才能捕获所有列?
这是我的正则表达式和 HTML:https://regex101.com/r/jA3sS6/1
不要使用正则表达式,而是使用解析器!
从这里开始:
$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;
}
- 阅读更多关于 DOMDocument
- 阅读更多关于 DOMXPath
- 阅读why you can't parse [X]HTML with regular expressions
我正在尝试捕获 HTML table 秒内的所有列内容。我非常接近,但我的正则表达式只捕获每个 table 的第一列。我需要做什么才能捕获所有列?
这是我的正则表达式和 HTML:https://regex101.com/r/jA3sS6/1
不要使用正则表达式,而是使用解析器!
从这里开始:
$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;
}
- 阅读更多关于 DOMDocument
- 阅读更多关于 DOMXPath
- 阅读why you can't parse [X]HTML with regular expressions