PHP разделение слов с помощью регулярных выражений - PullRequest
0 голосов
/ 29 апреля 2011

У меня есть строка, и она содержит несколько слов, к которым я хочу обратиться, разделителями могут быть любые строки, состоящие из , ; или пробел.

Вот пример:

;,osman,ali;, mehmet ;ahmet,ayse; ,

Мне нужно взять слова osman ali mehmet ahmet и ayse в массив или любой тип, который я могу использовать их по одному. Я попробовал это с помощью функции preg, но я не мог понять.

Если кто-нибудь поможет, я буду признателен.

Ответы [ 3 ]

7 голосов
/ 29 апреля 2011
$words = preg_split('/[,;\s]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
  • [,;\s] является группой символов, что означает совпадение с любым из символов, содержащихся в этой группе .
  • \s соответствует любому символу пробела (пробел, табуляция, новая строка и т. Д.). Если это слишком много, просто замените его пробелом: [,; ].
  • + означает соответствует одному или нескольким предшествующим символам или группе .

DEMO

http://www.regular -expressions.info / - хороший сайт для изучения регулярных выражений.

3 голосов
/ 29 апреля 2011

Вы хотите использовать preg_split и использовать [;,] +, чтобы разделить регулярное выражение на

$keywords = preg_split("/[;, ]+/", $yourstring);
1 голос
/ 29 апреля 2011

Разделить на несловесные символы:

$array=preg_split("/\W+/", $string);
...