[英]PHP preg_match_all - how to get a content from HTML?
$ Content包含HTML文檔
$contents = curl_exec ($ch)
我需要從以下內容獲取內容:
<span class="Menu1">Artur €2000</span>
重復了幾次,所以我想將其保存到數組中
我嘗試這樣做:
preg_match_all('<span class=\"Menu1\">(.*?)</span>@si',$contents,$wynik2);
但是我有一個錯誤
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '('
你們能幫我嗎? 編輯:$ contents = curl_exec($ ch)
已解決:出現錯誤的原因是卷曲的網站上的HTML錯誤:
<span class="Menu1">Content</tr>
代替:
<span class="Menu1">Content</tr>
我沒想到有人會寫錯HTML。 謝謝你們的幫助!
您忘記了第一個定界符( @
):
$contents = '<span class="Menu1">Artur $2000</span> somehtml <span class="Menu1">Mark $1000</span>';
preg_match_all('@<span class="Menu1">(.*?)</span>@si', $contents, $wynik2);
print_r($wynik2);
/*
Array
(
[0] => Array
(
[0] => <span class="Menu1">Artur $2000</span>
[1] => <span class="Menu1">Mark $1000</span>
)
[1] => Array
(
[0] => Artur $2000
[1] => Mark $1000
)
)
*/
您應在正則表達式的開頭和結尾處添加“ |
”符號:
preg_match_all("|<span class=\"Menu1\">(.*?)</span>|U",$contents,$wynik2);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.