str_get_html和简单的html dom

时间:2010-09-29 18:02:45

标签: php

str_replace函数后的

方式$ img为空并且secont $ img-> find('img')函数显示错误:

Fatal error: Cannot use object of type simple_html_dom as array in D:\wamp\www\test.php on line 7

   <?php
require_once('simple_html_dom.php');

$img_html = str_get_html('hhtml tekst html tekst <img src = "img.png" /> ad sad');

foreach($img_html->find('img') as $element)
    $img[] = $element->src . '<br>';

$img_html = str_replace($img[0], 'n-'.$img[0], $img_html);    

foreach($img_html->find('img') as $element2)
    echo $element2->src . '<br>';
?>

2 个答案:

答案 0 :(得分:2)

这真的是你的目标吗?

foreach($img->find('img') as $element)
    $img[] = $element->src . '<br>';

$ img是第一个foreach -loop上的一个对象,但是你试图访问$ img作为一个数组,这导致了错误。你不小心为两个不同的东西使用相同的变量名吗?

答案 1 :(得分:0)

您必须将str_get_html放在str_replace之前:

$img_html = str_get_html('hhtml tekst html tekst <img src = "img.png" /> ad sad');

foreach($img_html->find('img') as $element)
    $img[] = $element->src;
$img_html = str_get_html(str_replace($img[0], 'n-'.$img[0], $img_html));

foreach($img_html->find('img') as $element2)
    echo $element2->src . '<br>';

同时检查你在require_once('simple_html_dom.php')中是否给出了正确的路径;