如何在PHP中用多个分隔符拆分字符串?

时间:2009-09-21 03:30:54

标签: php regex string split

"something here ; and there, oh,that's all!"

我希望按;,

拆分

所以处理后应该得到:

something here

and there

oh

that's all!

4 个答案:

答案 0 :(得分:35)

<?php

$pattern = '/[;,]/';

$string = "something here ; and there, oh,that's all!";

echo '<pre>', print_r( preg_split( $pattern, $string ), 1 ), '</pre>';

更新了更新问题的答案:

<?php

$pattern = '/[\x{ff0c},]/u';

//$string = "something here ; and there, oh,that's all!";
$string = 'hei,nihao,a ';


echo '<pre>', print_r( preg_split( $pattern, $string ), 1 ), '</pre>';

答案 1 :(得分:9)

$result_array = preg_split( "/[;,]/", $starting_string );

答案 2 :(得分:1)

split()PHP函数允许分隔符成为正则表达式。不幸的是,它已被弃用,将在PHP7中删除!

preg_split()函数应该没问题,并返回一个数组:

$results = preg_split('/[;,]/', $string);

有一些额外的可选参数可能对您有用。

您编辑的示例中的第一个分隔符字符实际上是一个2字节的Unicode字符吗?

也许preg_slit()函数将分隔符视为三个字符并在unicode(中文?)'字符'的字符之间分割

答案 3 :(得分:0)

您可以使用Devin'sMeder's方法将值转换为数组。

要获得所需的输出,您可以这样做

echo implode("\n", $resultingArray);

如果是您想要的HTML,请使用<br />