我有一个字符串,它包含一些我想要到达的单词,分隔符可以是由,
或;
或空格组成的任何字符串。php通过使用正则表达式分隔单词
这里是一个例子:
;,osman,ali;, mehmet ;ahmet,ayse; ,
我需要的话osman
ali
mehmet
ahmet
和ayse
到一个数组或我可以由一个使用它们之一的任何类型。我尝试了使用preg函数,但我无法弄清楚。
如果有人帮忙,我会很感激。
我有一个字符串,它包含一些我想要到达的单词,分隔符可以是由,
或;
或空格组成的任何字符串。php通过使用正则表达式分隔单词
这里是一个例子:
;,osman,ali;, mehmet ;ahmet,ayse; ,
我需要的话osman
ali
mehmet
ahmet
和ayse
到一个数组或我可以由一个使用它们之一的任何类型。我尝试了使用preg函数,但我无法弄清楚。
如果有人帮忙,我会很感激。
$words = preg_split('/[,;\s]+/', $str, -1, PREG_SPLIT_NO_EMPTY);
[,;\s]
是一个字符组,这意味着匹配任何包含在这个人物组。\s
匹配任何空格字符(空格,制表符,换行符等)。如果这太多,请将其替换为空格:[,; ]
。+
表示匹配前面的一个或多个符号或组。http://www.regular-expressions.info/是一个很好的网站,学习正则表达式。
你想用preg_split和使用[;,] +为你的正则表达式拆就
$keywords = preg_split("/[;, ]+/", $yourstring);
拆分非单词字符:
$array=preg_split("/\W+/", $string);
的\ s是可能仍然有效伊布的情况,但是它不只是空间。 \的设置还包括标签和新行。 - 只是没有人会感到困惑 – 2011-04-29 12:47:18
@JonathanFingland:谢谢。我添加了一些信息。根据我的经验'\ s'通常更合适。 – 2011-04-29 12:49:24