Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将简单的html dom对象转换回字符串?_Php_Dom_Moodle_Simple Html Dom_Gettype - Fatal编程技术网

Php 如何将简单的html dom对象转换回字符串?

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

我曾经使用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调试器)得到错误:

    $image TYPE: object
    
    $image_string TYPE: object
    
    致命错误:调用未定义的方法simple\u html\u dom\u node::save()

  • 所以我想,既然我和Moodle一起工作,它可能会有一些东西 为了处理Moodle,我只做了简单的(非面向对象的?) 方式:

    然后,为了检查/确认它已转换为字符串,我 曾:

  • 那么问题是为什么???我做错什么了吗?

    使用outertext

    $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