2011-02-14 75 views
1

我想解析括號中的數據。下面是你可以看到我在做什麼的代碼。我也想避免使用XML。用REGEX(PHP)解析數據

$query = ' 
    [page:1] 
      <html> 
       all the html 
      </html> 
    [/page:1] 


    [page:2] 
      <html> 
       all the html 
      </html> 
    [/page:2] 
'; 

我想創建一個循環腳本,它將使用正則表達式來查找[page:x]的所有實例;在上面的例子中是2.然後用get函數我們可以指定我們想要的頁面。

if(isset($_GET['page'])) { 

     $page = $_GET['page']; 
     $regex = '\\['page':(.*?)\\'; 

     echo preg_match($regex, $query); 

} 

有什麼想法?

+1

我的想法是,不清楚你的問題是什麼。請澄清問題標題和說明。 – SpliFF 2011-02-14 01:45:23

回答

2

這應該立刻找到所有的匹配塊:

preg_match_all('/\[page:([0-9]+)\](.+?)\[\/page:$1\]/', $page, $matches) 

我強烈懷疑正則表達式是你想完成但什麼是最合適的解決方案。