2017-10-18 85 views
-2

無法理解它是如何工作的preg_match,今天嘗試了幾個小時來創建我的函數,有很多示例,甚至是文檔,並沒有幫助我。所以需要你的幫助。通過preg_match從HTML文件中獲取2個元素

需要TE獲得2元

第一個是元素的名稱菜單,謝勝利,是標籤{}主要內容之間 看起來像

{main item=menu} bla bla bla{/main} 
+2

如果你展示了你的嘗試,它可能對你更有用。這樣我們可以解釋您的實現是否有問題。 – chris85

回答

0

一個簡單的regex是/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/。應用於您的示例,這將返回匹配組main,menubla bla bla

if (preg_match('/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/', $data, $m)) { 
    if ($m[2] == 'menu') { 
     // do something usefull.. 
     $content = $m[3]; 
    } 
} 

你甚至可以使用preg_match_all,遍歷所有元素,此模式匹配。

+0

'/ {loop item =([a-z] +)\}(。*?){\/loop}/s'正在工作,謝謝 – okapo