【发布时间】:2017-07-09 12:30:25
【问题描述】:
我正在使用以下代码将我的 UTF-8 字符串拆分为字符:
$characters = preg_split('//u', $word, -1, PREG_SPLIT_NO_EMPTY);
在某些情况下,一个字符后面可能有一个单引号。例如:hel'lo。我想保留该引号及其前面的字符。
使用上面的正则表达式,我的数组是这样的:
Array
(
[0] => h
[1] => e
[2] => l
[3] => '
[4] => l
[5] => o
)
我希望数组是:
Array
(
[0] => h
[1] => e
[2] => l'
[3] => l
[4] => o
)
我该怎么做? 谢谢!
(单引号可以在字符串的开头、结尾和中间)。
【问题讨论】:
-
如果您处理 UTF8 字符串,我不会使用
preg_split。我建议preg_match_all("~\X'?~u", $s, $m)获取所有 Unicode 字符,并在它们后面加上可选的'。我不清楚您的其他带有初始'的案例,请在问题中添加详细信息。 -
请在拆分
'hello和hello'时显示您的预期结果。对于第一个示例,单引号之前没有字符 --'应该单独使用还是绑定到h?
标签: php arrays regex utf-8 preg-split