現在の位置: ホーム> 最新記事一覧> MB_EREGI_REPLACEを使用して、ID番号や携帯電話番号などの機密情報のワンクリック脱感作処理を実現する方法は?

MB_EREGI_REPLACEを使用して、ID番号や携帯電話番号などの機密情報のワンクリック脱感作処理を実現する方法は?

M66 2025-06-29

実際の開発プロセスでは、ユーザーに敏感な情報(ID番号、携帯電話番号など)の処理は非常に重要なプライバシー保護リンクです。この情報を表示するとき、ユーザーのプライバシーの漏れを避けるために、いくつかの機密コンテンツを脱色できることを願っています。この記事では、PHPでMB_EREGI_REPLACE関数を使用する方法を紹介して、ワンクリック脱感作を実装します。


MB_EREGI_REPLACEとは何ですか?

MB_EREGI_REPLACEは、PHPのマルチバイト文字列関数であり、文字列でケース感受性の正規表現置換を実行するために使用されます。 UTF-8などのマルチバイトエンコードをサポートします。これは、中国語などのマルチバイトキャラクターの処理に非常に適しています。


脱感作のための基本的なアイデア

携帯電話番号とID番号を例にとると、脱感作の一般的な方法は次のとおりです。

  • 携帯電話番号:たとえば、13812345678の脱感作は138 **** 5678です。

  • ID番号:ミドル10桁を非表示にします。たとえば、110105199001011234脱感作は1101 ************ 1234です


サンプルコード

MB_EREGI_REPLACEを使用して脱感作を実装するPHPコードの例を次に示します。

 <?php
// 脱色携帯電話番号
function mask_mobile($mobile) {
    // 携帯電話番号形式を一致させます,中央を交換します4位置はです****
    return mb_eregi_replace('(\d{3})\d{4}(\d{4})', '$1****$2', $mobile);
}

// 脱感作ID番号
function mask_idcard($idcard) {
    // ID番号を一致させます,中央を交換します10位置はです**********
    return mb_eregi_replace('(\d{4})\d{10}(\d{4})', '$1**********$2', $idcard);
}

// テスト
$mobile = '13812345678';
$idcard = '110105199001011234';

echo "元の携帯電話番号:$mobile\n";
echo "脱色携帯電話番号:" . mask_mobile($mobile) . "\n";

echo "元のID番号:$idcard\n";
echo "脱感作ID番号:" . mask_idcard($idcard) . "\n";
?>

説明します

  • 正規表現の(\ d {3})および(\ d {4})は、キャプチャ前後の数値のグループ化を表します。

  • 交換部品では、1ドル2ドルを使用してキャプチャグループを参照しているため、開始数とエンド数を保持し、中央を*に置き換えます。

  • MB_EREGI_REPLACEはケースインスセンシティブであり、複数のエンコードされたテキストの処理に適したマルチバイト文字をサポートしています。


さらなる最適化

ビジネスのニーズに応じて、電子メール、銀行カード番号など、他の機密情報で同様の処理を実行することも、正規表現を調整することもできます。


参照例リンク

より多くのPHP文字列処理のヒントについては、次のリソースにアクセスできます。

 $url = 'https://m66.net/php-string-functions.html';
echo "詳細なチュートリアルをご覧ください:$url";