Использование preg_split для перехода от «привет, как дела» к [привет, как дела] - PullRequest
0 голосов
/ 23 июня 2009

Я хочу разбить строку на две части, строка является почти свободным текстом, например:

$string = 'hi how are you';

и я хочу, чтобы разделение выглядело так:

array(
    [0] => hi
    [1] => how are you
)

Я пытался использовать это регулярное выражение: /(\S*)\s*(\.*)/, но даже когда возвращаемый массив имеет правильный размер, значения становятся пустыми.

Каким должен быть шаблон, необходимый для того, чтобы это работало?

Ответы [ 2 ]

5 голосов
/ 23 июня 2009

Какие требования? Ваш пример кажется довольно произвольным. Если все, что вам нужно, это разделить первый пробел и оставить остальную часть строки в одиночку, это будет сделано, используя explode:

$pieces = explode(' ', 'hi how are you', 2);

Что в основном говорит "разбить на пробелы и ограничить результирующий массив двумя элементами"

0 голосов
/ 23 июня 2009

Вы не должны избегать "." в последней группе. Вы пытаетесь сопоставить любой символ, а не буквальный период.

Исправлено: /(\S*)\s*(.*)/

...