我使用PHP Simple HTML DOM Parser首先通过simple_html_dom.php的str_get_html()
方法将HTML字符串转换为DOM对象
$summary = str_get_html($html_string);
然后我从<img>
中提取了$summary
个对象
foreach ($summary->find('img') as $img) {
$image = $img;
break;
}
现在我需要将$ image DOM对象转换回字符串。我用了 Object Oriented way mentioned here:
$image_string = $image->save();
我收到了错误(来自 Moodle调试器):
致命错误:调用未定义的方法simple_html_dom_node :: save()...
所以我想,因为我和Moodle一起工作,所以可能会有一些东西 与Moodle有关,所以我只是做了简单的(非面向对象的?) 方式from the same manual:
$image_string = $image;
然后只是检查/确认它已被转换为字符串,我 做的:
echo '$image TYPE: '.gettype($image);
echo '<br><br>';
echo '$image_string TYPE: '.gettype($image_string);
但这会打印:
$image TYPE: object
$image_string TYPE: object
所以问题是为什么???我做错了吗?
答案 0 :(得分:3)
您只需按正常方式将其转换为字符串:
stat_mat
答案 1 :(得分:2)
使用outertext
$image_string = $image->outertext();
我查看了代码。功能保存返回
$ret = $this->root->innertext();
但这是类simple_html_dom
的方法。搜索后,您会收到对象simple_html_dom_node
。它没有这样的方法,也没有继承。但是有text
,innertext
和outertext
。
答案 2 :(得分:1)
$图像 - &gt;文字(); 这对我有用