【问题标题】:PHP preg_split() for new line comma colon and spacePHP preg_split() 用于换行逗号冒号和空格
【发布时间】:2016-02-25 18:14:16
【问题描述】:

这是我在 .php 中的代码:

$new_split = preg_split("/\s*[:, ]\s*/",$full_list,2);
print_r ($new_split);

输入($full_list)是:

abcd : xyz
abcd efgh, ijk ,lmn
abcd lmnop
abcd: efghijk
abcd,efgh

输出是:

Array ( 
    [0] => abcd 
    [1] => xyz abcd efgh, ijk ,lmn abcd lmnop abcd: efghijk abcd,efgh *
)

我想根据换行逗号 (,) 冒号 (:) 和空格进行拆分。请让我知道如何获得以下输出。

预期输出是:

Array ( 
    [0] => abcd 
    [1] => xyz 
    [2] => abcd 
    [3] => efgh 
    [4] => ijk 
    [5] => lmn 
    [6] => abcd 
    [7] => lmnop 
    [8] => abcd 
    [9] => efghijk 
    [10] => abcd 
    [11] =>efgh 
)

【问题讨论】:

  • preg_split 命令中的 2 是 LIMIT 参数。您将其限制为两个结果。完全删除 2 以获取所有这些。
  • 这是输出:Array ( [0] => abcd [1] => xyz abcd [2] => efgh [3] => ijk [4] => lmn abcd [5] => lmnop abcd [6] => efghijk abcd [7] => efgh ) $new_split = preg_split("/\s*[:, ]\s*/",$full_list);

标签: php preg-split


【解决方案1】:

删除字符类周围的\s*,并在字符类中用\s 更改单个空格,同时添加一个量词(即+ 表示1 个或多个):

$new_split = preg_split("/[:,\s]+/",$full_list,2);
print_r ($new_split);

【讨论】:

    【解决方案2】:

    在括号内添加\s,如下所示:$new_split = preg_split("/\s*[:,\s]\s*/",$full_list);

    【讨论】:

    • 太棒了!!!它有效...谢谢:) Array ( [0] => abcd [1] => xyz [2] => abcd [3] => efgh [4] => ijk [5] => lmn [6] => abcd [7] => lmnop [8] => abcd [9] => efghijk [10] => abcd [11] => efgh)
    猜你喜欢
    • 2011-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    相关资源
    最近更新 更多