0
<html>
    <head><title>bla bla</title></head>
    <body>
    <div id="mainContent" xmlns:h="http://www.w3.org/1999/xhtml" xmlns="http://www.w3.org/1999/xhtml">
        bla bla .....
    </div>
    </body>
</html>

我需要提取那个部门。如何使用 PHP 5 做到这一点?

html 源的格式不正确。有一些未定义的属性。

4

2 回答 2

1

如果您的 HTML 格式不正确,您仍然可以使用类似的内容DOMDocument,例如:

$d = new DOMDocument;
$d->loadHTML($htmlstring);

$x = new DomXPath($d);

foreach ($x->query('//div[@id="mainContent"]') as $node) {
    echo $node->nodeValue;
}

或者,只需在 HTML 前加上前缀,<!DOCTYPE html>以便您可以getElementById正常使用。

于 2012-04-23T08:41:54.753 回答
0

/<div id=\"mainContent\".*?</div>/gs

http://regexr.com?30o0l如果要捕获从 div 开始标记到结束标记的所有内容。

于 2012-04-23T08:44:45.420 回答