小编OIS*_*OIS的帖子

如何反转Unicode字符串

对这个问题的答案评论中暗示PHP无法反转Unicode字符串.

至于Unicode,它适用于PHP,因为大多数应用程序将其处理为二进制.是的,PHP是8位干净的.在PHP中尝试相当于这个:perl -Mutf8 -e'print scalar reverse("ほげほげ")'你会得到垃圾,而不是"げほげほ". - jrockway

不幸的是,PHPs unicode支持atm最好是"缺乏".这将有望与PHP6彻底改变.

PHP的MultiByte函数确实提供了处理unicode所需的基本功能,但它不一致并且缺少很多功能.其中一个是反转字符串的函数.

我当然想要反驳这个文本,没有其他原因,然后弄清楚它是否可能.我做了一个函数来完成这个巨大的复杂任务来反转这个Unicode文本,所以你可以放松一点直到PHP6.

测试代码:

$enc = 'UTF-8';
$text = "????";
$defaultEnc = mb_internal_encoding();

echo "Showing results with encoding $defaultEnc.\n\n";

$revNormal = strrev($text);
$revInt = mb_strrev($text);
$revEnc = mb_strrev($text, $enc);

echo "Original text is: $text .\n";
echo "Normal strrev output: " . $revNormal . ".\n";
echo "mb_strrev without encoding output: $revInt.\n";
echo "mb_strrev with encoding $enc output: $revEnc.\n";

if (mb_internal_encoding($enc)) {
    echo "\nSetting internal …
Run Code Online (Sandbox Code Playgroud)

php string unicode reverse

13
推荐指数
3
解决办法
7504
查看次数

标签 统计

php ×1

reverse ×1

string ×1

unicode ×1