PHP で文字列に読みがなをふる

最近、老眼なのでパスワード文字列が見づらくなってきました。
紙に印刷すると特に。フォントで見え方が変わってしまうので仕方がないのですよね。

また、エンドユーザにパスワードを配布する場合、パスワードが分かりづらいと問い合わせの原因になります。
キーボードに不慣れだと、よりその傾向が顕著になります(どう入力してよいか分からない、という質問がプラスされるため)。

今回、pwgen で生成した文字列を Excel で整形して PHP で読みがなを加えました。
DBなどは使わないので、以前ご紹介した PHPビルトインサーバ で実行できます。
大量にある場合、お薦めです。

目次

PHP

サンプルソース

/**
 * Overview         英数字の読みがな取得関数
 *
 * Description      英数字の読みを返す(数字は平仮名、英字は片仮名)
 *
 * @param string    $wkStr     翻訳対象文字列
 * @param array     $aryList   翻訳表
 *
 * @return string              翻訳後文字列
 *
 * @access public
 */
function getRead($wkStr, $aryList) {
    $retStr = "";
    $wkAry  = str_split($wkStr);
    foreach($wkAry as $val1) {
        $ret     = $aryList[strtolower($val1)];
        $retStr .= $retStr == "" ? "" : "・";
        $retStr .= $ret;
    }

    return $retStr;
}

$aryList = array(
    "a" => "エイ", "b" => "ビー", "c" => "シー", "d" => "ディー", "e" => "イー", "f" => "エフ", "g" => "ジー", "h" => "エイチ", "i" => "アイ", "j" => "ジェイ", "k" => "ケイ", "l" => "エル", "m" => "エム", "n" => "エヌ", "o" => "オー", "p" => "ピー", "q" => "キュー", "r" => "アール", "s" => "エス", "t" => "ティー", "u" => "ユー", "v" => "ヴィー", "w" => "ダブリュー", "x" => "エックス", "y" => "ワイ", "z" => "ゼット", 
    "1" => "いち", "2" => "に", "3" => "さん", "4" => "よん", "5" => "ご", "6" => "ろく", "7" => "なな", "8" => "はち", "9" => "きゅう", "0" => "ぜろ"
);

$wkAry = array("cIs4A6ho", "xiGTJU9h");

foreach($wkAry as $value) {
    $wk = getRead($value, $aryList);
    echo $value." : ".$wk."<br />\n";
}

結果サンプル

cIs4A6ho : シー・アイ・エス・よん・エイ・ろく・エイチ・オー
xiGTJU9h : エックス・アイ・ジー・ティー・ジェイ・ユー・きゅう・エイチ