2011-02-14 74 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) 

我强烈怀疑正则表达式是你想完成但什么是最合适的解决方案。