0

我想在以下之间获取所有 html:

<table cellpadding="0" cellspacing="0" border="0" class="list" width="100%">
.
.
.
.
</tbody>

preg_match_all('XXXXXXXXXX', $this->markup, $links);
4

3 回答 3

7

一般来说,我也建议使用 DomDocument 而不是正则表达式。但是在这种情况下,DomDocument 需要一些额外的麻烦,因为 OP 需要 HTML 代码,而不仅仅是 nodeValue(s)。(无论如何,对于基于 DomDocument 的方法,您可以使用一些像这样的“解决方法” (获取表格的内容,包括 HTML。))

话虽如此,这是您要求的正则表达式:

$html = '<table cellpadding="0" cellspacing="0" border="0" class="list" width="100%">' .
        '<tr><td>Lorem</td><td>Ipsum</td></tr>' . 
        '</table>';

preg_match_all('/<table.*?>(.*?)<\/table>/si', $html, $matches); 

var_dump($matches[1][0]); // string(37) "<tr><td>Lorem</td><td>Ipsum</td></tr>"
于 2013-07-05T11:12:35.703 回答
0

您应该使用DomDocument之类的东西,而不是使用正则表达式来解析它。

于 2013-07-05T10:57:19.020 回答
0

使用phpQuery进行此操作。PhpQuery 有类似 jQuery 的语法,只是为了理解

于 2013-07-05T11:05:11.797 回答