例如我有这样的句子:
$text = "word, word w.d. word!..";
我需要这样的数组
Array
(
[0] => word
[1] => word
[2] => w.d
[3] => word".
)
我对正则表达式很陌生..
这是我尝试过的:
function divide_a_sentence_into_words($text){
return preg_split('/(?<=[\s])(?<!f\s)\s+/ix', $text, -1, PREG_SPLIT_NO_EMPTY);
}
this
$text = "word word, w.d. word!..";
$split = preg_split("/[^\w]*([\s]+[^\w]*|$)/", $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($split);
有效,但我有第二个问题我想在正则表达式中写入列表
“w.t”是特殊情况..例如这个词是我的列表“w.d”,“mr.”,“dr.”
如果我要接受文本:
$text = "单词,单词博士w.d.单词!...";
我需要数组:
Array (
[0] => word
[1] => dr.
[2] => word
[3] => w.d
[4] => word
)
抱歉英语不好...
Using preg_split
正则表达式为/[^\w]*([\s]+[^\w]*|$)/
应该可以正常工作:
<?php
$text = "word word w.d. word!..";
$split = preg_split("/[^\w]*([\s]+[^\w]*|$)/", $text, -1, PREG_SPLIT_NO_EMPTY);
print_r($split);
?>
DEMO
Output:
Array
(
[0] => word
[1] => word
[2] => w.d
[3] => word
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)