PHP で正規表現を使用して文字列内の中国語文字を取得したい場合は、まずページのエンコーディングを知る必要があります。GBK/GB2312 エンコーディング: [x80- xff>]+ または [xa1- xff]+ および UTF-8 エンコード: [x{4e00}-x{9fa5}]+/u。
例
コードは次のとおりです | コードをコピー |
echo (mb_eregi("[x80-xff].","中文") ? "有" : "無し") ."汉字"; |
以下では、マッチングの例として PHP を使用しています:
コードは次のとおりです | コードをコピー |
$str = "PHP を学ぶことは幸せなことです。"; 出力: 配列
|
コードをコピー | |
$str = "phpでエレギを漢字と一致させる方法";
if (preg_match("/^[".chr(0x80)."-".chr(0xff)."]+$/",$str)) { |
preg_match_all("/(汉字)+/ism","私は中国人です、あなたが私に何をするか見てみましょう!",$m_a);
各コードの上位ビットと下位ビットの始まりと終わりがわかっていれば、正規表現を自然に 16 ビットで書くことができます。何が難しいでしょうか?ふふ。ただし、php では、x は 16 桁を示すために使用されることに注意してください
この正規表現を使用して、gb2312 という漢字かどうかを判断することもできます
コードをコピー | |
$str = "小さな男の子"; if(preg_match("/^[xb0-xf7][xa0-xfe]+$/",$str)){ print($str."確かに全部漢字です"); } その他 { print($str."この実際の TC はすべて漢字ではありません"); } ?> |