PHP - 检查字符串并从输入创建页面结构

时间:2014-07-30 17:45:06

标签: php

我试图为页面结构系统编写脚本,理想情况下,用户以某种方式进入页面结构,然后脚本以稍微不同的方式输出它。这很难解释,但我想要的是这个;

  

=第1节

     

第1页

     

第2页

     

=第2节

     

第1页

     

第2页

转变为以下内容;

  

第1节\第1节||第1页

     

第1节\第1节||第2页

     

第2节\第2节||第1页

     

第2节\第2节||第2页

所以基本上输入被格式化为一个站点结构,可以插入到另一个可以为网站生成页面的系统中。这是一个很长的故事,但如何实现呢?我不是PHP新手,但仍处于初级/初级水平。

所以每个"部分"是一个类别,当然每个页面...是一个页面。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

这个小解析器会:

$sites = array();

// Split input by new lines.
foreach(preg_split( '/\r\n|\r|\n/', $input) as $line) {
    // Skip empty lines
    if(!trim($line)) {
        continue;
    }

    // Check for a section header (starts with a `=<space>`)
    if(strpos($line, '=') === 0) {
        $current = substr($line, 2); 
        $current .= '\\' . str_replace(' ', '-', strtolower($current));
    } else {
        // Build site paths and add to the array
        $sites []= $current . "||$line";
    }
}

echo implode(PHP_EOL, $sites);

输出:

Section 1\section-1||Page 1
Section 1\section-1||Page 2
Section 2\section-2||Page 1
Section 2\section-2||Page 2