2011-09-22 92 views
-1

在我的用户界面中,有一个文本区域,其中包含一个由新行分隔的URL列表。simpleHTMLdom - 使用数组中的多个URL

我正在将它放入一个字符串中,并使用换行符对其进行爆炸。我收到此错误:

Fatal error: Call to a member function find() on a non-object in C:\xampp\htdocs\apps\lt\track-them.php on line 34

$myurl  = "http://mydomain.com/testpage1.html"; 
$str   = "http://www.domain.com/page1.html 
http://www.homepage.com/page2.html 
http://www.internet.com/index.html"; 

$backlinkarr = explode("\n", $str); 
echo '<table border=1>'; 
foreach ($backlinkarr as $backlinkitem) { 
    $backlinkitem = trim($backlinkitem); 
    $LinkCount = 0; 
    $html   = file_get_html($backlinkitem); 
    foreach ($html->find('a') as $link) { 
     if ($link->href == $myurl) { 
      $LinkCount += $LinkCount + 1; 
     } 
    } 
    echo $backlinkitem . ' (' . $linkCount . ')'; 
} 
+0

''file_get_html()''?有这样的功能吗?还有更多...一个PHP类?或者它是你的类,你并没有显示所有......和''html''被调用作为函数没有类.. –

+0

我相信这是关于http://simplehtmldom.sourceforge.net/ – jancha

+0

是的,这是正确的simplehtmldom例子。 – Ram

回答

0

在Windows上新的生产线是\ r \ n

也,你的错误提示$ HTML是不是一个对象,这意味着以前的线路出现故障。所以,如果它是正确的,那么使用var_dump($ backlinkitem)进行调试,并且还可以使用file_exists来验证该文件是否确实存在。

+0

谢谢。我认为这是由于“\ r \ n”造成的。我改变了行 $ backlinkarr = explode(“\ r \ n”,$ str); 及其工作正常。谢谢。 – Ram