我试图为页面结构系统编写脚本,理想情况下,用户以某种方式进入页面结构,然后脚本以稍微不同的方式输出它。这很难解释,但我想要的是这个;
=第1节
第1页
第2页
=第2节
第1页
第2页
转变为以下内容;
第1节\第1节||第1页
第1节\第1节||第2页
第2节\第2节||第1页
第2节\第2节||第2页
所以基本上输入被格式化为一个站点结构,可以插入到另一个可以为网站生成页面的系统中。这是一个很长的故事,但如何实现呢?我不是PHP新手,但仍处于初级/初级水平。
所以每个"部分"是一个类别,当然每个页面...是一个页面。有什么帮助吗?
答案 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