Войти

Показать полную графическую версию : [решено] Вопрос по регулярному выражению в preg_split (PHP)


ANR
01-09-2010, 13:20
Добрый день.

Вопрос к тем, кто знаком с регулярными выражениями. Нужно разделить строку в массив, хочу это сделать с помощью preg_split(), но не знаю сможет ли он это.

Задача:
Предложение
Слово1 Слово2 Слово3 Слово4

разделить на пары:

Слово1 Слово2
Слово2 Слово3
Слово3 Слово4

естественно, preg_split("/\s/",$Sentence) разделит только по одному пробелу, а как можно реализовать вышеописанное? пока сам ломаю голову (не очень силен в regexp пока ), может что-нибудь подскажете?

Заранее благодарен всем откликнувшимся.

Sham
01-09-2010, 14:58
\s+ или флаг PREG_SPLIT_NO_EMPTY в preg_split (иначе вероятны пустые значения).

Группировать слова можно обработав полученный массив (http://docs.php.net/manual/ru/ref.array.php) (по ключам будет просто). Регекспом не получится.

примерно так
$new_array = array();

foreach($array as $key => $value)
{
if(is_numeric($key) && !empty($array[$key+1]))
{
$new_array[] = $value . ' ' . $array[$key+1];
}
}

var_dump($new_array);




© OSzone.net 2001-2012