是否可以为爆炸功能设置3个分隔符

时间:2011-06-01 20:57:10

标签: php split explode

选项1(空格)

keyword keyword keyword

选项2(换行符)

keyword
keyword
keyword

选项3(逗号)

keyword, keyword, keyword

或者我是否必须使用拆分功能?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:4)

尝试使用preg_split但请注意,这会立即在所有示例中爆炸。

$parts = preg_split("/[ ,\n]/", $string);

编辑:对于第三个示例,您将获得空数组元素,因为它在逗号和空格上分开。通过$partsarray_filter()将这些删除。

答案 1 :(得分:0)

不像preg_split那么简单,但strtok()也是一个选项

答案 2 :(得分:0)

str_word_count()获胜!

此任务不需要变量分隔符或正则表达式 - 假设所有这些“关键字”都是“单词”......

代码:(Demo

$strings=[
    'keyword keyword keyword',
    'keyword
keyword
keyword',
    'keyword, keyword, keyword'
];
foreach($strings as $string){
    var_export(str_word_count($string,1));
    echo "\n";
}

输出:

array (
  0 => 'keyword',
  1 => 'keyword',
  2 => 'keyword',
)
array (
  0 => 'keyword',
  1 => 'keyword',
  2 => 'keyword',
)
array (
  0 => 'keyword',
  1 => 'keyword',
  2 => 'keyword',
)