У меня есть японский английский персонаж. Этот символ не является нормальной английской строкой.
Characters: Game
Как преобразовать этот символ в обычный английский символ в php ?
Вычитайте 65248 из порядкового значения каждого символа. Другими словами:
$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);
Это заменит все символы «Fullwidth» с их эквивалентами обычной ширины.
Я уверен, что есть гораздо более легкий ответ, но вы не могли бы сделать объект-диктар со специальной хартией в качестве ключа и символа, который вы хотите в качестве значения
то просто просто найти и заменить?