無法理解它是如何工作的preg_match,今天嘗試了幾個小時來創建我的函數,有很多示例,甚至是文檔,並沒有幫助我。所以需要你的幫助。通過preg_match從HTML文件中獲取2個元素
需要TE獲得2元
第一個是元素的名稱菜單,謝勝利,是標籤{}主要內容之間 看起來像
{main item=menu} bla bla bla{/main}
無法理解它是如何工作的preg_match,今天嘗試了幾個小時來創建我的函數,有很多示例,甚至是文檔,並沒有幫助我。所以需要你的幫助。通過preg_match從HTML文件中獲取2個元素
需要TE獲得2元
第一個是元素的名稱菜單,謝勝利,是標籤{}主要內容之間 看起來像
{main item=menu} bla bla bla{/main}
一個簡單的regex是/\{([a-z]+)\s*item=([a-z]+)\}(.*?)\{\/\1\}/
。應用於您的示例,這將返回匹配組main
,menu
和bla 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
,遍歷所有元素,此模式匹配。
'/ {loop item =([a-z] +)\}(。*?){\/loop}/s'正在工作,謝謝 – okapo
如果你展示了你的嘗試,它可能對你更有用。這樣我們可以解釋您的實現是否有問題。 – chris85