我可以使用preg_split
用逗号分割字符串,如
$words = preg_split('/[,]/', $string);
我如何使用点,空格和分号来分割字符串与这些中的任何一个?
p。我在PHP preg_split页面上找不到任何相关的例子,这就是为什么我要问。
试试这个:
<?php
$string = "foo bar baz; boo, bat";
$words = preg_split('/[,.s;]+/', $string);
var_dump($words);
// -> ["foo", "bar", "baz", "boo", "bat"]
The Pattern explained
[]
是一个字符类,一个字符类由多个字符组成,并与类
.
匹配.
字符,这不需要在字符类中转义。虽然当不在字符类中时需要转义,因为.
表示"匹配任何字符"。
s
匹配空格
;
在分号上进行分割,这个不需要转义,因为它没有特殊的意义。
结尾的+
确保分隔字符后面的空格不显示为匹配
示例就在那里,也许不是字面上的,而是带有多个分隔符
选项的分隔符。$words = preg_split('/[ ;.,]/', $string);
像这样?
<?php
$string = "blsdk.bldf,las;kbdl aksm,alskbdklasd";
$words = preg_split('/[, .;]/', $string);
print_r( $words );
结果:Array
(
[0] => blsdk
[1] => bldf
[2] => las
[3] => kbdl
[4] => aksm
[5] => alskbdklasd
)
$words = preg_split('/[,. ]/', $string);
只需将这些字符添加到表达式
$words = preg_split('/[;,. ]/', $string);
EDIT:由于Igoris Azanovas,不需要在字符类中转义点;)
$words = preg_split('/[,.s;]/', $string);