获取字符串中的第一个字母 (该字符串包含阿拉伯字母)

5

我想要获取一个字符串的第一个字符。我目前的简单函数如下:

function idar($word)
{
return substr($word, 0, 1);
}

然而,我发现这个函数在阿拉伯字母上不起作用!它对我什么也没有返回。

例如,尝试单词“محمد”,它应该返回“م”作为第一个字母。

有没有另一种方法可以返回任何语言的字符串的第一个字母?


1
http://php.net/manual/en/ref.mbstring.php - zerkms
请使用 mb_substr 处理 Unicode。 - Sami Korhonen
1
你可以查看 mb_substr - The Alpha
2个回答

12

使用mb_substr函数:

$str = 'محمد';

var_dump(mb_substr($str, 0, 1, 'utf8')); // string(2) "م"

在线演示


3

如果您没有安装mbstring,可以使用preg_match()函数:

<?php

$s = "محمد";

preg_match("/./u", $s, $m);

echo $m[0];

?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接