php でアスタリスクを中国語に置き換える方法: 1. 文字に中国語が含まれているかどうかを確認します; 2. mb_substr 関数を使用して、指定された中国語の部分をアスタリスクに置き換えます。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
* のアスタリスクを置き換える方法phpで中国語?
PHP ユーザー名はアスタリスクで処理されます
PHP ユーザー名は * 記号で処理されます:
ユーザー名: 英語、中国語、中国語と英語の混合、中国語
混在文字の処理は次のとおりです。最初の文字と末尾は保持され、中間は * に置き換えられます (1 文字は直接表示、2 文字: Zhang*、3 文字以上)文字: Song*Dan)
最初に文字に中国語の文字が含まれているかどうかを判断し、含まれている場合は mb_ シリーズの関数を使用します (ここでは中国語は UTF-8 形式を使用します)
UTF-8中国語の正規: "/[\x{4e00} -\x{9fa5}] /u"
GB2312 中国語の正規: "/[".chr(0xa1)."-".chr(0xff)。 "] /"
//判断是否包含中文字符 if(preg_match("/[\x{4e00}-\x{9fa5}]+/u", $str)) { //按照中文字符计算长度 $len = mb_strlen($str, 'UTF-8'); //echo '中文'; if($len >= 3){ //三个字符或三个字符以上掐头取尾,中间用*代替 $str = mb_substr($str, 0, 1, 'UTF-8') . '*' . mb_substr($str, -1, 1, 'UTF-8'); } elseif($len == 2) { //两个字符 $str = mb_substr($str, 0, 1, 'UTF-8') . '*'; } } else { //按照英文字串计算长度 $len = strlen($str); //echo 'English'; if($len >= 3) { //三个字符或三个字符以上掐头取尾,中间用*代替 $str = substr($str, 0, 1) . '*' . substr($str, -1); } elseif($len == 2) { //两个字符 $str = substr($str2, 0, 1) . '*'; } }
推奨学習: "PHP ビデオ チュートリアル "
以上がPHPで中国語のアスタリスクを置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。