2009-08-07 2 views
0

может быть duplicateREGEX: интервалы между Separe запятыми

Я использую PHP и Postgres.

Как я могу отделить слова в форме ниже? Максимальное количество слов - 7.

word_1, word_2, word_3, ... 
+0

Dupe? http://stackoverflow.com/questions/470505/regular-expression-for-parsing-csv-in-php –

+0

@Mark: Ситуация другая, так как мне нужно сначала преобразовать данные в «word_1», «word_2» "," word_3 ", ...' from 'word_1, word_2, word_3', так что пробелы удаляются между словами. перед конверсией. –

+0

Спасибо за ответы! –

ответ

4

Вы можете позвонить взорваться.

$string = 'word_1, word_2, ...'; 
$splitarr = explode(',' $string); 

Тогда вы можете получить значения из обр как так: $ splitarr [0] ... $ splitarr [6].

Сплит в этом случае немного медленнее, чем взрывается, поскольку раскол принимает регулярное выражение. http://blog.brianhartsock.com/2007/06/11/php-explode-vs-split/

1

если слова не может содержать пробелы вы можете использовать функцию preg_split:

$string="word_1, word_2, word_3"; 
$array=preg_split("/\s*,\s/",$string, PREG_SPLIT_NO_EMPTY); 

, если вы используете постоянный PREG_SPLIT_NO_EMPTY вы не получите пустые результаты

+0

Не могли бы вы привести пример использования вашего кода. Я безуспешно запускаю 'echo array [0]', так как он печатает все слова, разделенные запятой. Я хотел бы напечатать только слово 'word_1'. –

Смежные вопросы