正如我之前的一个问题所建议的那样,我正在使用PHP Simple HTML DOM Parser 作为一种搜索HTML文档并从特定元素(在我的例子中是textarea)中获取内容的方法。我想知道是否有人曾经使用过这个,并能够给我任何关于我的问题的建议(或推荐另一种解决方案)。我正在使用的代码如下所示:
include "../simple_html_dom.php";
$html = file_get_html('http://example.com');
$textarea = $html->find('textarea[id=body]');
$contents = $textarea->outertext;
echo $contents;
我的问题是脚本运行代码并且不从元素中检索数据(看起来像这样:
<textarea id="body" name="body" rows="12" cols="75" tabindex="3">
At 2/21/10 10:15 PM, You wrote
: Hello world,
: how are you today?
</textarea>
我很抱歉用这种方法征求意见,但如果有人有任何建议,我将不胜感激。非常感谢你提前
答案 0 :(得分:0)
正如您在documentation find
中看到的那样,返回一个数组,因此对于初学者而言,您不应将其视为节点。此外,您想要的是innertext
而不是outertext
。
这应该有效:
include "../simple_html_dom.php";
$html = file_get_html('http://example.com');
$textarea = $html->find('textarea[id=body]');
$contents = $textarea[0]->innertext;
echo $contents;
答案 1 :(得分:0)
您关联的网页说明如下:
// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');
这告诉我$ret
将是一个集合。从语法上讲,您使用的是与CSS attribute selectors类似的内容。由于这个语法应该被推广到适用于任何属性,因此不考虑id
应该是唯一的这一事实并且返回一个集合...我怀疑如果你尝试过类似的东西... < / p>
$ret = $html->find('div#foo');
......它可能有用。