之間的所有HTML代碼(數據),我想抓住所有的HTML之間:Preg_match_all - 搶<table></table>
<table cellpadding="0" cellspacing="0" border="0" class="list" width="100%">
.
.
.
.
</tbody>
preg_match_all('XXXXXXXXXX', $this->markup, $links);
之間的所有HTML代碼(數據),我想抓住所有的HTML之間:Preg_match_all - 搶<table></table>
<table cellpadding="0" cellspacing="0" border="0" class="list" width="100%">
.
.
.
.
</tbody>
preg_match_all('XXXXXXXXXX', $this->markup, $links);
一般來說,我建議使用DomDocument而不是正則表達式。但是DomDocument在這種情況下需要一些額外的麻煩,因爲OP需要HTML代碼,而不僅僅是nodeValue(s)。 (反正,對於基於的DomDocument的方法,你可以使用一些「變通」之類this(獲取表格內容含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>"
你應該使用類似DomDocument而不是用正則表達式解析這一點。
使用phpQuery進行此操作。 PhpQuery具有類似jQuery的語法,並且它僅僅用於理解
不要使用regexp來解析HTML,請使用DOM解析庫。 – Barmar