hitoshop14 @ ウィキ
2バイト文字関数
最終更新:
hitoshop
2バイト文字関数
- ここでは、使用頻度の高い2バイト文字関数群の説明をします
- 漢字やひらがな、全角カタカナなどの変換や文字列操作などはここで紹介する関数群で処理します
- php.iniの設定を終了していなければ、使用できない可能性があります
- 半角文字も全角文字もすべて1カウント
2バイト文字の関数
| mb_strlen関数 | |
| 機能と返り値 | 文字列の長さを返す.半角文字も全角文字の長さも1カウント |
| 引数 | 第一引数は、長さを調べる文字列.第二引数は、「SJIS」「EUC-JP」[UTF-8]などの文字コード.省略可能 |
| <?php $a = "PHP関数の勉強"; print mb_strlen($a, "SJIS"); ?> |
|
| mb_strpos / mb_strrpos関数 | |
| 機能と返り値 | mb_strposは、引数の文字列内を検索し、指定した文字が最初に現れる位置を返す.mb_strrposは、最後に現れる文字位置(先頭からの文字位置)を返す |
| 引数 | 第一引数に検索する文字列.第二引数に見つける文字 |
| <?php $a = "PHP関数の勉強"; print mb_strpos($a, "の"); print mb_strpos($a, "数"); ?> |
|
| mb_substr関数 | |
| 機能と返り値 | 文字列から一部分を抜粋 |
| 引数 | 3つの引数で「元の文字列、取り出し開始位置、取り出す長さ」 |
| <?php $a = "PHP関数の勉強"; //4文字から5文字分を抜粋 print ms_substr($a, 3, 5); //先頭から6文字分を抜粋 print ms_substr($a, 0, 6); ?> |
|
| mb_convert_encoding関数 | |
| 機能と返り値 | 文字列を指定した文字コードに変換. |
| 引数 | 3つの引数で「元の文字列、変換先の文字コード、元の文字コード」 |
| <?php $a = "PHP関数の勉強"; //SJISをUTF-8に変換 $b = mb_convert_encodeing($a, "UTF-8", "SJIS"); print $b; ?> |
|
◆ファイルの保存形式や、データベースから取得する場合にはDBの文字コード設定によっては文字化けが起こりやすいので、 チェックしましょう
◆htmlのmetaタグの設定でも文字バケを引き起こします.
<meta http-equive="Content-Type" content="text/htmlcharset=UTF-8">
私の場合は、すべての設定情報に関して[UTF-8]に統一する事にしています.
そうすることによって、文字化けに悩むことはなくなるからね.
| mb_conver_kana関数 | |
| 機能と返り値 | 全角文字と半角文字の相互変換 |
| 引数 | 第一引数に置換前文字列、第二引数に変換オプションを指定 |
|
<?php |
|
| 文字 | 変換内容 |
| r | 全角英字 → 半角英字 |
| R | 半角英字 → 全角英字 |
| n | 全角数字 → 半角数字 |
| N | 半角数字 → 全角数字 |
| a | 全角英数字 → 半角英数字 |
| A | 半角英数字 → 全角英数字 |
| c | 全角カタカナ → 全角ひらがな |
| C | 全角ひらがな → 全角カタカナ |
| h | 全角ひらがな → 半角カタカナ |
| H | 半角カタカナ → 全角ひらがな |
| k | 全角カタカナ → 半角カタカナ |
| K | 半角カタカナ → 全角カタカナ |
| s | 全角スペース → 半角スペース |
| S | 半角スペース → 全角スペース |
| V | 濁点付けの文字 → 1つの文字 |