Comment PHP fait-il la distinction entre le chinois simplifié, le chinois traditionnel, le japonais et le coréen
D'après les méthodes données en ligne, il semble que l'on puisse distinguer le chinois, le japonais et le coréen, mais comment distinguer le chinois simplifié du chinois traditionnel ?
$s = <<<'EOF'
"memolov 爱书 愛書 あいしょ 사랑 때문에 책이 되다",
EOF;
echo $s.PHP_EOL;
if(preg_match_all('/([\x{4e00}-\x{9fa5}]+)/u',$s,$m)){ //中文简体繁体
echo "<pre>";
print_r($m[1]);
echo "</pre>";
}
if(preg_match_all('/([\x{0800}-\x{4e00}]+)/u',$s,$m)){ //日文
echo "<pre>";
print_r($m[1]);
echo "</pre>";
}
if(preg_match_all('/([\x{AC00}-\x{D7A3}]+)/u',$s,$m)){ //韩文
echo "<pre>";
print_r($m[1]);
echo "</pre>";
}
Alors voici le problème
小
Il n'existe pas de chinois traditionnel pour cela. Alors, est-ce considéré comme simplifié ou traditionnel ?Ceci est simplifié et traditionnel. . Ce n'est pas facile à distinguer. Pouvez-vous créer une bibliothèque correspondant au chinois simplifié et traditionnel ?
J'ai une idée simple :
Convertissez d'abord le chinois en chinois simplifié. Si la chaîne ne change pas avant et après la conversion, c'est du chinois simplifié, sinon elle est comptée comme du chinois traditionnel.
https://github.com/BYVoid/OpenCC
Bibliothèque OpenCC, utilisée pour la conversion, très simple à utiliser. D'autres peuvent également être utilisés.