为什么 trim() 会影响其他字符?
Why trim() affects on the other characters?
this code的结果:
echo trim('سلام؟', '؟');
是�لام
.
为什么?我什至不知道 �
应该是什么。那是从哪里来的?
我认为这是因为它是从右到左的语言,您可以使用rtrim()
phpFiddle - 点击 "Run F9" 执行
echo rtrim('سلام؟', '؟');
您可以使用 rtrim()
.
这将从字符串末尾删除白色 space。
echo rtrim('سلام؟', '؟');
你的问题解决了..
你的字符串char是阿拉伯语,顺序相反。所以你必须使用 rtrim().
rtrim
是从字符串右边开始替换,符合OP的要求。但是我觉得str_replace()
更合适。 Trim 可以用它来完成,也有助于从字符串的任何位置进行替换。一个例子:
$search = ['؟', ' ',]; // Add more elements if required
$str = 'سلام؟';
$output = str_replace($search, '', $str);
echo $output;
输出:
سلام
this code的结果:
echo trim('سلام؟', '؟');
是�لام
.
为什么?我什至不知道 �
应该是什么。那是从哪里来的?
我认为这是因为它是从右到左的语言,您可以使用rtrim()
phpFiddle - 点击 "Run F9" 执行
echo rtrim('سلام؟', '؟');
您可以使用 rtrim()
.
这将从字符串末尾删除白色 space。
echo rtrim('سلام؟', '؟');
你的问题解决了..
你的字符串char是阿拉伯语,顺序相反。所以你必须使用 rtrim().
rtrim
是从字符串右边开始替换,符合OP的要求。但是我觉得str_replace()
更合适。 Trim 可以用它来完成,也有助于从字符串的任何位置进行替换。一个例子:
$search = ['؟', ' ',]; // Add more elements if required
$str = 'سلام؟';
$output = str_replace($search, '', $str);
echo $output;
输出:
سلام