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

Sol*_*ace 5 php dom moodle gettype simple-html-dom

我已经使用PHP Simple HTML DOM解析器首先通过str_get_html()simple_html_dom.php方法将HTML字符串转换为DOM对象。

$summary = str_get_html($html_string);
Run Code Online (Sandbox Code Playgroud)
  1. 然后我提取的<img>对象从$summary

    foreach ($summary->find('img') as $img) {
        $image = $img;
        break;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    现在,我需要将$ image DOM对象转换回字符串。我使用了这里提到面向对象的方式

    $image_string = $image->save();
    
    Run Code Online (Sandbox Code Playgroud)

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

    致命错误:调用未定义的方法simple_html_dom_node :: save()...

  2. 所以我想,因为我正在使用Moodle,所以可能与Moodle有关,所以我只是从同一本手册中进行了简单的(非面向对象的?)方式:

    $image_string = $image;
    
    Run Code Online (Sandbox Code Playgroud)

    然后只是为了检查/确认它已被转换为字符串,我做了:

    echo '$image TYPE: '.gettype($image);
    echo '<br><br>';
    echo '$image_string TYPE: '.gettype($image_string);
    
    Run Code Online (Sandbox Code Playgroud)

    但这打印:

    $image TYPE: object
    
    $image_string TYPE: object
    
    Run Code Online (Sandbox Code Playgroud)

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

pgu*_*rio 5

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

$image_string = (string)$image
Run Code Online (Sandbox Code Playgroud)