2013-08-31 77 views
-3

你好我想用preg_match 我有它,爲什麼不工作?Preg匹配文本php不工作

$source = "<span class=\"middle\">". 
    "<span class=\"play\"></span>". 
    "<img width=\"114\" src=\"http://i.ytimg.com/vi/PnmEKNi1DtY/default.jpg\" alt=\"\"></span> 1"; 


preg_match("'<span class=\"middle\"><span class=\"play\"></span> <img width=\"114\" src=\"http://i.ytimg.com/vi/(.*?)/default.jpg\" alt=\"\"></span> 1'si", $source, $match); 

    foreach($match[1] as $val) 
    { 
     echo $val."<br>"; 


    } 

輸出:

Warning: Invalid argument supplied for foreach() 
+1

,而不是做的foreach,嘗試做'的print_r($比賽);'這將告訴你,你已經捕捉到了什麼,你可能會發現你沒有得到你以爲你的結果是。 – Dale

+0

這個正則表達式不匹配任何東西。你期望的比賽是什麼? – Bora

+1

如果你正在嘗試我認爲你正在嘗試的東西,那麼DOMDocument可能是一個更好的工具。 php.net/DOMdocument – 2013-08-31 16:47:29

回答

2

由於$match[0]是一個標量,而不是陣列。你會使用:

foreach($match as $val) 
+0

非常感謝 – mario