【发布时间】:2012-04-08 21:29:53
【问题描述】:
我正在使用 PHP Simple HTML DOM Parser 从网页中获取文本。 我需要操作的页面是这样的:
<html>
<head>
<title>title</title>
<body>
<div id="content">
<h1>HELLO</h1>
Hello, world!
</div>
</body>
</html>
我需要获取h1 元素和没有标签的文本。
要获得h1,我使用以下代码:
$html = file_get_html("remote_page.html");
foreach($html->find('#content') as $text){
echo "H1: ".$text->find('h1', 0)->plaintext;
}
但是其他文本呢? 我也在 foreach 中尝试了这个,但我得到了全文:
$text->plaintext;
但它也返回了H1 标签...
【问题讨论】:
-
为什么要让
plaintext成员返回其他内容? -
我只需要“你好,世界!”部分,有可能吗?
-
我猜是这样,但我不能推荐 Simple HTML DOM Parser,而只推荐
DOMDocument。那就是->nodeValue。 -
我也遇到了同样的问题,我想在标签之外的标签后面提取文本...
标签: php html-parsing simple-html-dom