对话解析器

Lil'稀有小姐

我有一个对话文件,看起来像这样:

CHARACTER       MOOD         PROMPT RESPONSE  TEXT      LEVEL         PATH

如您所见,所有内容都由空格分隔。PROMPT RESPONSE TEXT应该是一个标头(一起读取)时,所有标题组之间的间距不得超过两个空格,而每个标题之间的间距应大于3个空格。我想做的是将这一行添加到数组中,如下所示:

array(4) => {
    [0]=> string(9) "CHARACTER",
    [1]=> string(4) "MOOD",
    [2]=> string(21) "PROMPT RESPONSE  TEXT",
    [3]=> string(5) "LEVEL",
    [4]=> string(4) "PATH"
}

我正在尝试preg_split与以下正则表达式一起使用/\s\s\s+/但它只产生了一个空数组。我假设如果在等于或大于3的任意数量的空间上,regexp都会分裂。

wn

您可以使用以下命令,这将查找空格(至少为 3次)

$results = preg_split('/\s{3,}/', $text);
var_dump($results);

输出量

array(5) {
  [0]=> string(9) "CHARACTER"
  [1]=> string(4) "MOOD"
  [2]=> string(21) "PROMPT RESPONSE  TEXT"
  [3]=> string(5) "LEVEL"
  [4]=> string(4) "PATH"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章