簡體   English   中英

PHP preg_match_all-如何從HTML獲取內容?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM