"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.