如何将 simple_html_dom 对象转换回字符串?

How to convert simple_html_dom object back to string?

我已经使用 PHP Simple HTML DOM Parser 首先通过 simple_html_dom.php

str_get_html() 方法将 HTML 字符串转换为 DOM 对象
$summary = str_get_html($html_string);
  1. 然后我通过

    $summary中提取了一个<img>对象
    foreach ($summary->find('img') as $img) {
        $image = $img;
        break;
    }
    

    现在我需要将 $image DOM 对象转换回字符串。我用了 Object Oriented way mentioned here:

    $image_string = $image->save();
    

    我收到错误(来自 Moodle 调试器):

    Fatal error: Call to undefined method simple_html_dom_node::save() ...

  2. 所以我想既然我在用Moodle,它可能有一些东西 与 Moodle 相关,所以我只是做了简单的(非面向对象的?) 方式 from the same manual:

    $image_string = $image;
    

    然后就check/confirm表示已经转成字符串了,我 做过:

    echo '$image TYPE: '.gettype($image);
    echo '<br><br>';
    echo '$image_string TYPE: '.gettype($image_string);
    

    但这会打印出:

    $image TYPE: object
    
    $image_string TYPE: object
    

所以问题是为什么???我做错了什么吗?

使用外部文本

$image_string = $image->outertext();

我查看了代码。函数保存 return

$ret = $this->root->innertext();

但这是classsimple_html_dom的方法。搜索后您会收到对象 simple_html_dom_node。它没有这样的方法,也不会继承。但是有 textinnertextoutertext.

$图片->文字(); 这对我有用

您只需以正常方式将其转换为字符串即可:

$image_string = (string)$image