mb_substring不会删除非英语字符串末尾的逗号(,)

时间:2014-02-16 16:02:11

标签: php

我有以下代码,因为PHP文档说需要'==='来进行条件检查。即使使用以下代码后,函数也不会修剪字符串末尾的逗号。我的系统中安装了mbstring。 请注意输入字符串末尾的逗号,我需要顺利修剪它。我错过了什么吗?

$string = "日本語版,";
if (mb_substr($string, -1, 'UTF-8') === ',')
{
        $length = mb_strlen($string, 'UTF-8');
    $string = mb_substr($string, 0, $length-1, 'UTF-8');
}
echo "Stirng without comma : ".$string;

代码仍然输出为“日本语版”,而不删除逗号,我觉得它没有按预期工作。

2 个答案:

答案 0 :(得分:2)

只需使用:

$trimmed = rtrim($string, ",");

答案 1 :(得分:1)

您的脚本会生成PHP警告,因为缺少第三个参数

mb_substr($string, -1, 'UTF-8')

应该有

mb_substr($string, -1, 1, 'UTF-8')