我有一个简单的模式,可以将文本分成句点:
$text = preg_split("/[\.:!\?]+/", $text);
但我想包括. :
or !
在数组项的末尾。
也就是说,现在是“好消息:大家好!”我有:
array("good", "news", "everyone", "");
但我想要:
array("good:", "news.", "everyone!", "");
干得好:
preg_split('/([^.:!?]+[.:!?]+)/', 'good:news.everyone!', -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
它是如何工作的:该模式实际上将所有内容都变成了分隔符。然后,要将这些分隔符包含在数组中,您可以使用PREG_SPLIT_DELIM_CAPTURE
持续的。这将返回一个像这样的数组:
array (
0 => '',
1 => 'good:',
2 => '',
3 => 'news.',
4 => '',
5 => 'everyone!',
6 => '',
);
要摆脱空值,请使用PREG_SPLIT_NO_EMPTY
。为了组合两个或多个这些常量,我们使用按位|
操作员。结果:
array (
0 => 'good:',
1 => 'news.',
2 => 'everyone!'
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)