我使用以下代码将我的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
)
我该怎么办? 谢谢!
(单引号可以在字符串的开头,在它的末尾和它的中间)。
答案 0 :(得分:0)
而不是split
,您可以使用
preg_match_all
'?\p{L}'?
即。 Unicode字母前后的可选'
:
preg_match_all("/'?\\p{L}'?/u", $str, $matches);
答案 1 :(得分:0)
使用!
来阻止分割
$characters = preg_split("/(?!')/u", $word, -1, PREG_SPLIT_NO_EMPTY);