在标记之间解析文件和组内容

时间:2012-08-23 11:08:24

标签: php arrays file parsing

我正在尝试解析具有以下结构的文件

Page: name of page

Lang: language
{1} content of a header
{2} content of a paragraph

Lang: language
{1} content of a header
{2} content of a paragraph


Page: name of page
Lang: language

{1} content of a header
{2} content of a paragraph

等等。

我从云端获取此类内容,保存到文件中,然后我想以格式关联数组获取每个页面:

page => page 1
    [lang] => language A
        [1] => content of a header
        [2] => content of a paragraph
    [lang] => language B
        [1] => content of a header
        [2] => content of a paragraph
page => page 2
    [lang] => language A
        [1] => content of a header
        [2] => content of a paragraph
    [lang] => language B
        [1] => content of a header
        [2] => content of a paragraph
...

我一直在尝试从文件构建整个数组,然后开始按标签分组,但我一直没有成功。 :/

1 个答案:

答案 0 :(得分:0)

我终于使用了以下方法:

  1. 使用每一行作为元素

  2. 将文件作为整个数组获取
  3. 搜索与使用的页面的第一个巧合,即'Page:'

  4. 之后的字符串
  5. 获得如此巧合的元素和下一页

  6. 将结果数组分组为'Lang'作为键

  7. 由于我正在使用PHP,因此使用的函数包括:file()array_search()array_slice()