无法分割阿拉伯字母

  • 本文关键字:阿拉伯 分割 php
  • 更新时间 :
  • 英文 :


我需要分割阿拉伯语文本,我正在尝试不同的方法,但没有解决它

$input = "ابجد";
$split = mb_str_split($input);
print_r($split);

期望输出像

(ا،ب،ج،د)

需要解决方案

您可以尝试mb_str_split(),它可以处理多字节字符串。这段代码:

$input = "ابجد";
$split = mb_str_split($input);
print_r($split);

结果:

Array
(
[0] => ا
[1] => ب
[2] => ج
[3] => د
)

当你操作(trim, split, splice等)用多字节编码编码的字符串时,你需要使用特殊的函数,因为在这样的编码方案中,两个或多个连续的字节可能代表一个字符。否则,如果对字符串应用非多字节感知的字符串函数,它可能无法检测多字节字符的开始或结束,并最终得到一个损坏的垃圾字符串,很可能失去其原始含义。

可以使用array_reverse()反转输出,如下所示:

$input = "ابجد";
$split = mb_str_split($input);
$reversed = array_reverse($split);
print_r($reversed);

现在的输出是:

Array
(
[0] => د
[1] => ج
[2] => ب
[3] => ا
)

见:https://3v4l.org/ZsJNb

你可以试试implode输出=(ا،ب،ج،د):

$input = "ابجد";
$split = mb_str_split($input,1,'UTF-8');
print "(".implode('،',$split).")";
//output: (ا،ب،ج،د)

最新更新