2010-08-26 98 views
0

我有一個客戶需要緊急的網站,但我無法訪問控制面板等信息。PHP解析錯誤在rss解析功能

PHP版本是4.4這是因爲我已經習慣了5

第一個問題是我不斷收到一個痛:

Parse error: parse error, unexpected T_OBJECT_OPERATOR, expecting ')' in D:\hshome\*******\********\includes\functions.php on line 37 

這是有問題的功能:

function read_rss($display=0,$url='') { 
    $doc = new DOMDocument(); 
    $doc->load($url); 
    $itemArr = array(); 

    foreach ($doc->getElementsByTagName('item') as $node) { 
     if ($display == 0) { 
      break; 
     } 

     $itemRSS = array(
      'title'=>$node->getElementsByTagName('title')->item(0)->nodeValue, 
      'description'=>$node->getElementsByTagName('description')->item(0)->nodeValue, 
      'link'=>$node->getElementsByTagName('link')->item(0)->nodeValue); 

     array_push($itemArr, $itemRSS); 

     $display--; 
    } 
    return $itemArr; 
} 

,問題中的一行:

'title'=>$node->getElementsByTagName('title')->item(0)->nodeValue, 
+0

請將您的兩個問題分爲兩個問題。數據庫中沒有即將出現的短缺),而且很可能有人會回答你的問題。 – Piskvor 2010-08-26 17:02:34

回答

2

PHP4不支持對象解引用。所以$obj->something()->something將無法​​正常工作。您需要做$tmp = $obj->something(); $tmp->something ...

0

你不能這樣做,在PHP 4

不得不這樣做

$nodes = $node->getElementsByTagName('title'); 
    $item = $nodes->item(0); 
    $value = $item->nodeValue, 

嘗試它,它會工作。

0

您不能在PHP 4中鏈接對象調用。您將不得不將每個調用單獨分配給一個變量並將其全部存儲。

$titleobj = $node->getElementsByTagName('title'); 
$itemobj = $titleobj->item(0); 
$value = $itemobj->nodeValue; 

... 

'title'=>$value, 

你就必須做到這一點在所有這些鏈式調用

至於的.htaccess ...你需要找人傾訴誰控制了實際的服務器。這聽起來像.htaccess不允許改變你試圖改變的設置。

0

您需要將該行分解爲單個變量。 PHP 4不喜歡 - >括號之後。做這個,而不是:

$title = $node->getElementsByTagName('title'); 
    $title = $title->item(0); 
    $description = $node->getElementsByTagName('description'); 
    $description = $description->item(0); 
    $link = $node->getElementsByTagName('link'); 
    $link = $link->item(0); 

    $itemRSS = array(
     'title'=>$title->nodeValue, 
     'description'=>$description->nodeValue, 
     'link'=>$link->nodeValue); 

這兩個變量的聲明可能是多餘的和濃縮的,我不知道PHP4將如何迴應。如果你願意,你可以嘗試濃縮它們。

0

DOMDocument是php 5函數。你不能使用它。 您可能需要使用DOM XML(PHP 4)功能