Php 如何将简单的html dom对象转换回字符串?
我曾经使用simple\u HTML\u DOM.php的Php 如何将简单的html dom对象转换回字符串?,php,dom,moodle,simple-html-dom,gettype,Php,Dom,Moodle,Simple Html Dom,Gettype,我曾经使用simple\u HTML\u DOM.php的str\u get\u HTML()方法首先将HTML字符串转换为DOM对象 $summary = str_get_html($html_string); 然后我从$summary中提取了一个对象 foreach ($summary->find('img') as $img) { $image = $img; break; } 现在我需要将$image DOM对象转换回字符串。我曾经 委员会: 我(从Moodle
str\u get\u HTML()
方法首先将HTML字符串转换为DOM对象
$summary = str_get_html($html_string);
$summary
中提取了一个
对象
foreach ($summary->find('img') as $img) {
$image = $img;
break;
}
现在我需要将$image DOM对象转换回字符串。我曾经
委员会:
我(从Moodle调试器)得到错误:
$image TYPE: object
$image_string TYPE: object
致命错误:调用未定义的方法simple\u html\u dom\u node::save()
$image_string = $image->outertext();
我查了密码。函数保存返回
$ret = $this->root->innertext();
但这是类simple\uhtml\udom
的方法。搜索后,您将收到对象simple\u html\u dom\u节点
。它没有这样的方法,也不继承。但是有text
,innertext
和outertext
,$image->text();
这对我来说很有效您只需以正常方式将其转换为字符串:
$image_string = (string)$image
谢谢,但这是一个很好的“黑客”,对吗?你知道为什么手册中描述的方法不起作用吗?来自文档:)我只使用这种方式,不知道如何保存:)请参阅标题为“如何转储DOM对象的内容”的部分,然后单击标题为“快速方式”和“面向对象方式”的选项卡。我错了<代码>保存必须工作,但返回完整树,而不是对象。所以为什么我从来没有用过:)哦,这太棒了。我没有试过。谢谢。我在yup中找不到
text()
函数。这不在api参考中,但当您使用var_dum($image)时,您将看到此方法
$image_string = $image->outertext();
$ret = $this->root->innertext();
$image_string = (string)$image