substr在php的字符串末尾添加。

时间:2017-08-19 11:51:44

标签: php

我有一个字符串,字符串就是这样。

$Result;
$name = 'á é í ó ú ¿ ¡ ü';

preg_match_all('#(?<=\s|\b)\p{L}#ui', $name, $Result);
print_r($Result);

$结果为Array ( [0] => Array ( [0] => á [1] => é [2] => í [3] => ó [4] => ú [5] => ü ) )

现在我正在使用内爆。

$ret = implode('', $Result[0]);
echo $ret; // it is print like this: áéíóúü

现在我只想要这个字符串中的前3个字符。但是它会与?一起回归。

$ret = substr($ret, 0, 3);
echo $ret // it is print like this: á�

我的预期结果是:áéí

2 个答案:

答案 0 :(得分:1)

使用代替多字节字符的mb_substr()函数。

答案 1 :(得分:1)

如果你的字符串有多字节编码(如 UTF-8 ),你应该使用mb_substr来避免这样的问题:

$ret = mb_substr($ret, 0, 3);
echo $ret;

substr只计算字节数,mb_substr计算字符数。