Chr*_*and 10 php string explode text-segmentation
我一直在用
explode(".",$mystring)
Run Code Online (Sandbox Code Playgroud)
将一个段落分成句子.然而,这并不包括以不同的标点符号结束的句子,例如!?:;
有没有办法使用数组作为分隔符而不是单个字符?另外还有另一种利用各种标点符号分割的简洁方法吗?
我试过了
explode(("." || "?" || "!"),$mystring)
Run Code Online (Sandbox Code Playgroud)
希望但它不起作用......
Kai*_*aii 14
您可以使用preg_split()
具有组合PCRE先行条件的每次出现后的字符串分割.
,;
,:
,?
,!
,...同时保持实际标点符号完整:
码:
$subject = 'abc sdfs. def ghi; this is an.email@addre.ss! asdasdasd? abc xyz';
// split on whitespace between sentences preceded by a punctuation mark
$result = preg_split('/(?<=[.?!;:])\s+/', $subject, -1, PREG_SPLIT_NO_EMPTY);
print_r($result);
Run Code Online (Sandbox Code Playgroud)
结果:
Array
(
[0] => abc sdfs.
[1] => def ghi;
[2] => this is an.email@addre.ss!
[3] => asdasdasd?
[4] => abc xyz
)
Run Code Online (Sandbox Code Playgroud)
你可以做:
preg_split('/\.|\?|!/',$mystring);
Run Code Online (Sandbox Code Playgroud)
或(更简单):
preg_split('/[.?!]/',$mystring);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11167 次 |
最近记录: |