Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Klasse zur Konvertierung chinesischer Schriftzeichen und Pinyin

PHP-Klasse zur Konvertierung chinesischer Schriftzeichen und Pinyin

php中世界最好的语言
php中世界最好的语言Original
2018-03-24 15:39:263190Durchsuche

Dieses Mal bringe ich Ihnen eine PHP-Klasse zum Konvertieren chinesischer Schriftzeichen und Pinyin. Was sind die Vorsichtsmaßnahmen für die Konvertierung chinesischer Schriftzeichen und Pinyin in eine PHP-Klasse?

PHP-Werkzeugklasse für Chinesisch, unterstützt die Konvertierung chinesischer Zeichen in Pinyin, die Pinyin-Wortsegmentierung und die Konvertierung zwischen vereinfachtem und traditionellem Chinesisch.

PHP Chinese Tool-Klasse, unterstützt chinesisches Pinyin, Pinyin-Partizip, vereinfachte und traditionelle Konvertierung

Derzeit hat diese Klassenbibliothek drei Funktionen: Sie sind Alles wird während des eigentlichen Entwicklungsprozesses geklärt. Die diesmal verwendeten Daten unterscheiden sich von der vorherigen Open-Source-Konvertierung chinesischer Schriftzeichen in Pinyin und der Konvertierung zwischen vereinfachten und traditionellen chinesischen Schriftzeichen. Die Daten werden alle von Wörterbuch-Websites gesammelt, was genauer ist als die vorherigen Daten.

Aufgrund der Weitläufigkeit und Tiefe des Chinesischen haben Schriftzeichen mehrere phonetische Zeichen und es gibt viele Entsprechungen zwischen vereinfachten und traditionellen Schriftzeichen. Und alle von dieser Klassenbibliothek zurückgegebenen Ergebnisse sind Arrays, die alle Kombinationen enthalten.

Nachdem die Wörterbuchdaten dieser Klassenbibliothek geladen wurden, belegen sie mehr als 40 MB Speicher, wenn Schnittstellen mit großem Zugriffsvolumen solche Funktionen zum Konvertieren chinesischer Zeichen in Pinyin und zum Konvertieren traditioneller in vereinfachte chinesische Zeichen verwenden müssen Es wird empfohlen, Swoole zum Entwickeln eines asynchronen Dienstprogramms zu verwenden. Sie müssen die Daten nur einmal laden und es kann Ihnen weiterhin Dienste effizient bereitstellen.

Gebrauchsanweisung

Composer direkt installieren

Composer <a href="http://www%20.%20php.cn/wiki/136.html" target="_blank">require<code>composer <a href="http://www.php.cn/wiki/136.html" target="_blank">require</a> yurunsoft/chinese-util yurunsoft/chinese-util

Einführung in die Composer-Projektkonfiguration

"require": {
  "yurunsoft/chinese-util" : "~1.0"
}

Funktion

Chinesische Schriftzeichen in Pinyin konvertieren

use \Yurun\Util\Chinese;
$string = '恭喜發財!把我翻译成拼音看下?';
echo $string, PHP_EOL;
echo '所有结果:', PHP_EOL;
var_dump(Chinese::toPinyin($string));
echo '全拼:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN));
echo '首字母:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_FIRST));
echo '读音:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_SOUND));
echo '读音数字:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER));
echo '自选 + 自定义分隔符:', PHP_EOL;
var_dump(Chinese::toPinyin($string, Pinyin::CONVERT_MODE_PINYIN | Pinyin::CONVERT_MODE_PINYIN_SOUND_NUMBER, '/'));
/**
输出结果:
array(4) {
 ["pinyin"]=>
 array(1) {
  [0]=>
  string(58) "gong xi fa cai ! ba wo fan yi cheng pin yin kan xia ? "
 }
 ["pinyinSound"]=>
 array(4) {
  [0]=>
  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kàn xià "
  [1]=>
  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kàn xià "
  [2]=>
  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kān xià "
  [3]=>
  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kān xià "
 }
 ["pinyinSoundNumber"]=>
 array(4) {
  [0]=>
  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "
  [1]=>
  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "
  [2]=>
  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "
  [3]=>
  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "
 }
 ["pinyinFirst"]=>
 array(1) {
  [0]=>
  string(34) "g x f c ! b w f y c p y k x ? "
 }
}
全拼:
array(1) {
 ["pinyin"]=>
 array(1) {
  [0]=>
  string(58) "gong xi fa cai ! ba wo fan yi cheng pin yin kan xia ? "
 }
}
首字母:
array(1) {
 ["pinyinFirst"]=>
 array(1) {
  [0]=>
  string(34) "g x f c ! b w f y c p y k x ? "
 }
}
读音:
array(1) {
 ["pinyinSound"]=>
 array(4) {
  [0]=>
  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kàn xià "
  [1]=>
  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kàn xià "
  [2]=>
  string(63) "gōng xǐ fā cái bǎ wǒ fān yì chéng pīn yīn kān xià "
  [3]=>
  string(63) "gōng xǐ fā cái bà wǒ fān yì chéng pīn yīn kān xià "
 }
}
读音数字:
array(1) {
 ["pinyinSoundNumber"]=>
 array(4) {
  [0]=>
  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "
  [1]=>
  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan4 xia4 "
  [2]=>
  string(63) "gong1 xi3 fa1 cai2 ba3 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "
  [3]=>
  string(63) "gong1 xi3 fa1 cai2 ba4 wo3 fan1 yi4 cheng2 pin1 yin1 kan1 xia4 "
 }
}
自选 + 自定义分隔符:
array(2) {
 ["pinyin"]=>
 array(1) {
  [0]=>
  string(58) "gong/xi/fa/cai/!/ba/wo/fan/yi/cheng/pin/yin/kan/xia/?/"
 }
 ["pinyinSoundNumber"]=>
 array(4) {
  [0]=>
  string(63) "gong1/xi3/fa1/cai2/ba3/wo3/fan1/yi4/cheng2/pin1/yin1/kan4/xia4/"
  [1]=>
  string(63) "gong1/xi3/fa1/cai2/ba4/wo3/fan1/yi4/cheng2/pin1/yin1/kan4/xia4/"
  [2]=>
  string(63) "gong1/xi3/fa1/cai2/ba3/wo3/fan1/yi4/cheng2/pin1/yin1/kan1/xia4/"
  [3]=>
  string(63) "gong1/xi3/fa1/cai2/ba4/wo3/fan1/yi4/cheng2/pin1/yin1/kan1/xia4/"
 }
}
 * /

Pinyin-Segmentierung

use \Yurun\Util\Chinese;
$string2 = 'xianggang';
echo '"', $string2, '"的分词结果:', PHP_EOL;
var_dump(Chinese::splitPinyin($string2));
/**
输出结果:
"xianggang"的分词结果:
array(2) {
 [0]=>
 string(12) "xi ang gang "
 [1]=>
 string(11) "xiang gang "
}
 * /

Konvertieren zwischen vereinfachten und traditionellen chinesischen Schriftzeichen

use \Yurun\Util\Chinese;
$string3 = '中华人民共和国!恭喜發財!';
echo '"', $string3, '"的简体转换:', PHP_EOL;
var_dump(Chinese::toSimplified($string3));
echo '"', $string3, '"的繁体转换:', PHP_EOL;
var_dump(Chinese::toTraditional($string3));
/**
输出结果:
"中华人民共和国!恭喜發財!"的简体转换:
array(1) {
 [0]=>
 string(39) "中华人民共和国!恭喜发财!"
}
"中华人民共和国!恭喜發財!"的繁体转换:
array(1) {
 [0]=>
 string(39) "中華人民共和國!恭喜發財!"
}
 * /

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

PHP benutzerdefiniertes zweidimensionales Array-Sortierfunktionsarray

Detaillierte Erläuterung der serverseitigen PHP-API und Schnittstellenentwicklung

Das obige ist der detaillierte Inhalt vonPHP-Klasse zur Konvertierung chinesischer Schriftzeichen und Pinyin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn