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

时间:2015-05-23 19:42:49

标签: php dom moodle simple-html-dom gettype

我使用PHP Simple HTML DOM Parser首先通过simple_html_dom.php的str_get_html()方法将HTML字符串转换为DOM对象

$summary = str_get_html($html_string);
  1. 然后我从<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()...

  2. 所以我想,因为我和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
    
  3. 所以问题是为什么???我做错了吗?

3 个答案:

答案 0 :(得分:3)

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

stat_mat

答案 1 :(得分:2)

使用outertext

$image_string = $image->outertext();

我查看了代码。功能保存返回

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

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

答案 2 :(得分:1)

$图像 - &gt;文字(); 这对我有用