2012-07-14 313 views
0

我已經搜索了這個答案,但找不到它。我收到錯誤消息「解析錯誤:語法錯誤,意外的T_VARIABLE」,並認爲它與第30行中列出的「a」有關。任何想法如何使此代碼正確?解析錯誤:語法錯誤,Crawler代碼中意外的T_VARIABLE錯誤

<?php 
class Crawler { 
    protected $markup = 」; 
    public function __construct($uri) { 
     $this->markup = $this->getMarkup($uri); 
    } 

    public function getMarkup($uri) { 
     return file_get_contents($uri); 
    } 

    public function get($type) { 
     $method = array($this,」_get_」.$type); 
     if (method_exists($this,$method[1])) 
      return call_user_func($method); 
     return false; 
    } 

    protected function _get_images() { 
     if (!empty($this->markup)){ 
      preg_match_all("/<img([^>]+)\/>/i", $this->markup, $images); 
      return !empty($images[1]) ? $images[1] : FALSE; 
     } 
    } 

    protected function _get_links() { 
     if (!empty($this->markup)){ 
      preg_match_all("/<a([^>]+)\>(.*?)\<\/a\>/i", $this->markup, $links); 
      return !empty($links[1]) ? $links[1] : FALSE; 
     } 
    } 
} 
a 
$crawl = new Crawler("http://www.facebook.com"); 
$images = $crawl->get("images"); 
$links = $crawl->get("links"); 
?> 
+2

它會殺死嘗試刪除a嗎? – Esailija 2012-07-14 13:48:08

+0

它殺死它。然後我得到一個錯誤,說:「使用未定義的常量」 - 假定'...' – 2012-07-14 13:52:37

+1

Sheeple請問,[關於語法錯誤==太本地化](http://meta.stackexchange.com/問題/ 87149 /應語法錯誤疑問的被封閉,作爲太集中式後感 - 已回答)。 – mario 2012-07-14 13:52:40

回答

0

刪除a,並使用直引號",代替目前的彎引號。

+0

當我嘗試獲取錯誤時,「使用未定義的常量'_get_â' - 在...中假定''_get_â'」 – 2012-07-14 14:28:03

+0

再次,你有捲曲的引號。用直引號替換它們。 – 2012-07-14 14:28:59

+0

感覺像一個笨蛋。沒有注意到捲曲的報價和直接的報價。謝謝你解決了這個問題。 – 2012-07-14 14:43:08

0

你可以嘗試把一個;a後線30

+0

是的。仍然得到上面提到的「undefined constant a ...」 – 2012-07-14 14:26:52

相關問題