Как разбить строку на несколько разделителей в PHP?

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

Я хочу разбить его ; и ,

поэтому после обработки следует получить:

 something here and there oh that's all! 

 <?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>'; 
 $result_array = preg_split( "/[;,]/", $starting_string ); 

Функция split () PHP позволяет ограничителю быть регулярным выражением. К сожалению, он устарел и будет удален в PHP7!

Функция preg_split () должна быть в порядке, и она возвращает массив:

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

Есть несколько дополнительных необязательных параметров, которые могут быть вам полезны.

Является ли первый символ разделителя в вашем отредактированном примере фактически двухбайтным символом Unicode?

Возможно, функция preg_slit () обрабатывает разделитель как три символа и разделяет символы символов Unicode (Chinese?) '

Вы можете получить значения в массиве с использованием метода Девина или Медера .

Чтобы получить желаемый результат, вы, вероятно, можете это сделать

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

Или используйте <br /> если вы хотите HTML.