【发布时间】:2013-10-17 05:34:57
【问题描述】:
我正在尝试将标准 ASCII 字母转换为全角日文字母。例如:
Game 变为 Game
我搜索了一个答案,发现这个question 有一个很好的答案,我在下面引用了:
$str = "Game some other text by ヴィックサ";
$str = preg_replace_callback(
"/[\x{ff01}-\x{ff5e}]/u",
function($c) {
// convert UTF-8 sequence to ordinal value
$code = ((ord($c[0][0])&0xf)<<12)|((ord($c[0][1])&0x3f)<<6)|(ord($c[0][2])&0x3f);
return chr($code-0xffe0);
},
$str);
但我想反其道而行之。我尝试将 return 语句中的 (-) 符号更改为 (+),但没有太大成功。
【问题讨论】:
-
没有理由结束这个问题,提问者已经做了 一些 研究,但没有完全正确地提问。
-
@LegoStormtroopr,可能是这样,但“我只是将减法改为加法,看看会发生什么”似乎并不暗示对底层机制有任何了解......
标签: php