2013-04-30 55 views
2

我使用了一個稱爲電影海報的wordpress插件,它從imdb中抓取電影的信息並將其顯示在帖子中。在第一個逗號之前我如何抓住第一個生產公司?我很困惑這個代碼是如何工作的。下面是該抓住所有的製作公司代碼:PHP全部匹配

$arr['productions'] = array(); 
foreach($this->match('/<a.*?>(.*?)<\/a>/ms', 
      $this->match('/Production Co.?:(.*?)(<\/div>|See more)/ms', $html, 1) 
     , 1) as $m) 
    array_push($arr['productions'], $m);` 

感謝您的時間

+4

你不應該用正則表達式解析html。這就是爲什麼我們有http://php.net/dom – 2013-04-30 17:06:03

+0

感謝您的快速回復。我能做些什麼來解決這個問題? – Roku 2013-04-30 17:08:08

+0

@ user2336811:聯繫該插件的開發人員,告訴他關於您的問題並協商解決方法。 – 2013-04-30 17:15:40

回答

1

所以你只是想一個製作公司的信息?

爲什麼不只是擺脫foreach?你目前有一個循環,並尋找所有Production Co.並返回。

或者您可以將其更改爲While statement並添加一個計數器,使其僅通過一次。

$arr['productions'] = array(); 
$i = 0; 
while($i < 1) { 
    $m = $this->match('/<a.*?>(.*?)<\/a>/ms', 
     $this->match('/Production Co.?:(.*?)(<\/div>|See more)/ms', $html, 1) 
    , 1); 
    array_push($arr['productions'], $m); 
    $i++; 
} 

不知道語法是否完全正確,但應該讓你朝正確的方向。請記住,我對插件不熟悉,或者我已經完全理解你想要完成的工作。

+0

感謝您的回答,但我得到這個錯誤「解析錯誤:語法錯誤,意外的T_AS」 – Roku 2013-04-30 17:22:35

+1

@ user2336811再試一次,我編輯了代碼 – HamZa 2013-04-30 17:29:51

+0

很好的編輯。 – EnigmaRM 2013-04-30 17:32:12