- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- diary/2008-01-21 へ行く。
- 1 (2008-01-21 (月) 19:36:10)
- 2 (2008-01-22 (火) 12:36:10)
[PHP]文字埋め処理 
文字データ作成において古いソフトによっては文字数の幅が規定されている場合がある。
- 例(データはSJIS)
,8文字,4文字,5文字,
,週刊誌 , 1, 400,
PHPでこのデータ群を作ろうとstr_padを使ってみたのだがうまくいかない。
文字数の判定が全角(2)、半角カタカナ(1)、英数字(1)でそれぞれ想定外の文字埋めをする。*1
仕方が無いので次の方法でごまかしてみた。
function moji_ume($moji, $ume, $chg) { $moji_ume = ($chg) ? $moji . str_repeat(" ", $ume - mb_strwidth($moji)) : str_repeat(" ", $ume - mb_strwidth($moji)) . $moji; return $moji_ume; }
- 上の例だとこんな感じ
echo ',' . moji_ume($fields[1], 8,1) . ',' . moji_ume($fields[1], 4,0) . ',' moji_ume($fields[1], 5,0) . ',';
![[PukiWiki] [PukiWiki]](wiki/image/dog3.png)