Подтвердить что ты не робот

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

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

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

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

something here

and there

oh

that all!
4b9b3361

Ответ 1

<?php

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

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

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

Обновленный ответ на обновленный вопрос:

<?php

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

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


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

Ответ 2

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

Ответ 3

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

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

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

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

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

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

Ответ 4

Вы можете получить значения в массиве, используя метод Devin или Meder.

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

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

Или используйте <br />, если он нужен HTML.