*日本語文字列・エンコード [#fbc4ee57]

-[[../String]]
-[[マルチバイト文字列 関数>http://www.php.net/manual/ja/ref.mbstring.php]]
-[[PCRE(Perl互換正規表現) 関数>http://jp2.php.net/manual/ja/ref.pcre.php]]

#contents

**関数一覧 [#rf1520ca]
|分類|[[関数名>phpnet.func:関数名]]|意味|h
|SIZE(10):||SIZE(10):|c
|~情報|[[mb_get_info>phpnet.func:mb-get-info]]|mbstring の内部設定値を取得する|
|~情報|[[mb_preferred_mime_name>phpnet.func:mb-preferred-mime_name]]|MIME 文字設定を文字列で得る|
|~情報|[[mb_preferred_mime_name>phpnet.func:mb-preferred-mime-name]]|MIME 文字設定を文字列で得る|
|~情報|[[mb_strlen>phpnet.func:mb-strlen]]|文字列の長さを得る|
|~情報|[[mb_strwidth>phpnet.func:mb-strwidth]]|半角文字を1、全角を2とした文字列の幅を返す|
|~情報|[[mb_substr_count>phpnet.func:mb-substr-count]]|部分文字列の出現回数を数える|
|~取得・追加|[[mb_strcut>phpnet.func:mb-strcut]]|文字列の一部を得る|
|~取得・追加|[[mb_substr>phpnet.func:mb-substr]]|文字列の一部を得る|
|~変換|[[mb_convert_case>phpnet.func:mb-convert-case]]|文字列に対してケースフォルディング(大/小文字変換)を行う|
|~変換|[[mb_convert_kana>phpnet.func:mb-convert-kana]]|カナを("全角かな"、"半角かな"等に)変換する|
|~変換|[[mb_decode_mimeheader>phpnet.func:mb-decode-mimeheader]]|MIME ヘッダフィールドの文字列をデコードする|
|~変換|[[mb_decode_numericentity>phpnet.func:mb-decode-numericentity]]|HTML 数値エンティティを文字にデコードする|
|~変換|[[mb_encode_mimeheader>phpnet.func:mb-encode-mimeheader]]|MIMEヘッダの文字列をエンコードする|
|~変換|[[mb_encode_numericentity>phpnet.func:mb-encode-numericentity]]|文字を HTML 数値エンティティにエンコードする|
|~変換|[[mb_parse_str>phpnet.func:mb-parse-str]]|GET/POST/COOKIE データをパースし、グローバル変数を設定する|
|~変換|[[mb_strimwidth>phpnet.func:mb-strimwidth]]|指定した幅で文字列を丸める|
|~変換|[[mb_strtolower>phpnet.func:mb-strtolower]]|文字列を小文字にする|
|~変換|[[mb_strtoupper>phpnet.func:mb-strtoupper]]|文字列を大文字にする|
|~探索|[[mb_stripos>phpnet.func:mb-stripos]]|大文字小文字を区別せず、 文字列の中で指定した文字列が最初に現れる位置を探す|
|~探索|[[mb_stristr>phpnet.func:mb-stristr]]|大文字小文字を区別せず、 文字列の中で指定した文字列が最初に現れる位置を探す|
|~探索|[[mb_strpos>phpnet.func:mb-strpos]]|文字列の中に指定した文字列が最初に現れる位置を見つける|
|~探索|[[mb_strrchr>phpnet.func:mb-strrchr]]|別の文字列の中で、ある文字が最後に現れる場所を見つける|
|~探索|[[mb_strrichr>phpnet.func:mb-strrichr]]|大文字小文字を区別せず、 別の文字列の中である文字が最後に現れる場所を探す|
|~探索|[[mb_strripos>phpnet.func:mb-strripos]]|大文字小文字を区別せず、 文字列の中で指定した文字列が最後に現れる位置を探す|
|~探索|[[mb_strrpos>phpnet.func:mb-strrpos]]|文字列の中に指定した文字列が最後に現れる位置を見つける|
|~探索|[[mb_strstr>phpnet.func:mb-strstr]]|文字列の中で、指定した文字列が最初に現れた位置などの文字列を返す|
|~正規表現|[[mb_ereg_match>phpnet.func:mb-ereg-match]]|マルチバイト文字列が正規表現に一致するか調べる|
|~正規表現|[[mb_ereg_replace>phpnet.func:mb-ereg-replace]]|マルチバイト文字列に正規表現による置換を行う|
|~正規表現|[[mb_ereg_search_getpos>phpnet.func:mb-ereg-search_getpos]]|次の正規表現検索を開始する位置を取得する|
|~正規表現|[[mb_ereg_search_getregs>phpnet.func:mb-ereg-search_getregs]]|マルチバイト文字列が正規表現に一致する部分があるか調べる|
|~正規表現|[[mb_ereg_search_init>phpnet.func:mb-ereg-search_init]]|マルチバイト正規表現検索用の文字列と正規表現を設定する|
|~正規表現|[[mb_ereg_search_pos>phpnet.func:mb-ereg-search_pos]]|指定したマルチバイト文字列が正規表現に一致する部分の位置と長さを返す|
|~正規表現|[[mb_ereg_search_regs>phpnet.func:mb-ereg-search_regs]]|指定したマルチバイト文字列が正規表現に一致する部分を取得する|
|~正規表現|[[mb_ereg_search_setpos>phpnet.func:mb-ereg-search_setpos]]|次の正規表現検索を開始する位置を設定する|
|~正規表現|[[mb_ereg_search>phpnet.func:mb-ereg-search]]|指定したマルチバイト文字列が正規表現に一致するか調べる|
|~正規表現|[[mb_ereg>phpnet.func:mb-ereg]]|マルチバイト文字列に正規表現マッチを行う|
|~正規表現|[[mb_eregi_replace>phpnet.func:mb-eregi-replace]]|マルチバイト文字列に大文字小文字を区別せずに正規表現による置換を行う|
|~正規表現|[[mb_eregi>phpnet.func:mb-eregi]]|マルチバイト文字列に大文字小文字を区別しない正規表現マッチを行う|
|~正規表現|[[mb_regex_encoding>phpnet.func:mb-regex-encoding]]|現在の正規表現用のエンコーディングを文字列として返す|
|~正規表現|[[mb_regex_set_options>phpnet.func:mb-regex-set_options]]|マルチバイト正規表現関数のデフォルトオプションを取得または設定する|
|~正規表現|[[mb_split>phpnet.func:mb-split]]|マルチバイト文字列を正規表現により分割する|
|~文字コード|[[mb_check_encoding>phpnet.func:mb-check-encoding]]|文字列が、指定したエンコーディングで有効なものかどうかを調べる|
|~文字コード|[[mb_convert_encoding>phpnet.func:mb-convert-encoding]]|文字エンコーディングを変換する|
|~文字コード|[[mb_convert_variables>phpnet.func:mb-convert-variables]]|変数の文字コードを変換する|
|~文字コード|[[mb_detect_encoding>phpnet.func:mb-detect-encoding]]|文字エンコーディングを検出する|
|~文字コード|[[mb_detect_order>phpnet.func:mb-detect-order]]|文字エンコーディング検出順序を設定あるいは取得する|
|~文字コード|[[mb_http_input>phpnet.func:mb-http-input]]|HTTP 入力文字エンコーディングを検出する|
|~文字コード|[[mb_http_output>phpnet.func:mb-http-output]]|HTTP 出力文字エンコーディングを設定あるいは取得する|
|~文字コード|[[mb_internal_encoding>phpnet.func:mb-internal-encoding]]|内部文字エンコーディングを設定あるいは取得する|
|~文字コード|[[mb_language>phpnet.func:mb-language]]|現在の言語を設定あるいは取得する|
|~文字コード|[[mb_list_encodings>phpnet.func:mb-list-encodings]]|サポートするすべてのエンコーディングの配列を返す|
|~文字コード|[[mb_output_handler>phpnet.func:mb-output-handler]]|出力バッファ内で文字エンコーディングを変換するコールバック関数|
|~文字コード|[[mb_substitute_character>phpnet.func:mb-substitute-character]]|置換文字を設定あるいは取得する|
|~メール|[[mb_send_mail>phpnet.func:mb-send-mail]]|エンコード変換を行ってメールを送信する|

**エンコーディング文字列一覧 [#me1e9e11]
○付きは正規表現でも使えるエンコーディング。
|~正規表現|~encoding|~意味|h
|CENTER:SIZE(20):|LEFT:||c
|○|UCS-4|21bitのUnicodeを固定長32bit(実効31bit)で表わした文字セット。Unicode範囲外は永久欠番|
|×|UCS-4BE|UCS-4ビッグエンディアン|
|○|UCS-4LE|UCS-4リトルエンディアン|
|×|UCS-2|21bitのUnicodeを固定長16bitで表わした文字セット。Unicodeの基本多言語面(BMP)に相当。&br;不足する範囲をサロゲートペア方式で補完した符号化方式がUTF-16|
|×|UCS-2BE|UCS-2ビッグエンディアン|
|×|UCS-2LE|UCS-2リトルエンディアン|
|○|UTF-32|Unicodeを固定長32bitで表わす符号化方式。UCS-4の部分集合。21bitのUnicode範囲のみをカバーしている。&br;UCS-4がUnicode範囲外の拡張をしないことに決まったため実質同等。|
|○|UTF-32BE|UTF-32ビッグエンディアン|
|○|UTF-32LE|UTF-32リトルエンディアン|
|○|UTF-16|UCS-2にサロゲートペア方式を加えてUnicodeを固定長16bitの1〜2ブロックで表わす符号化方式|
|○|UTF-16BE|UTF-16ビッグエンディアン|
|○|UTF-16LE|UTF-16リトルエンディアン|
|×|UTF-7|UTF-16を+-のシーケンスとBASE64エンコードを用いて7bitで表わす独特な符号化方式|
|×|UTF7-IMAP||
|○|~UTF-8|Unicodeを8〜32bitの可変長を用いて表わす符号化方式。8bit範囲はASCIIコードの互換|
|○|~ASCII|アスキーコード(7bit)|
|○|~EUC-JP|日本語EUC|
|○|~SJIS|シフトJIS|
|○|eucJP-win|Windows 日本語EUC|
|○|SJIS-win|Windows シフトJIS|
|×|ISO-2022-JP|JISコード|
|×|~JIS|JISコード|
|○|ISO-8859-1|Latin-1 ASCIIコードを8bitでフランス語などの他国語のラテン文字に拡張したものの初期タイプ|
|○|ISO-8859-2|Latin-2|
|○|ISO-8859-3|Latin-3|
|○|ISO-8859-4|Latin-4|
|○|ISO-8859-5||
|○|ISO-8859-6||
|○|ISO-8859-7||
|○|ISO-8859-8||
|○|ISO-8859-9|Latin-5|
|○|ISO-8859-10|Latin-6|
|○|ISO-8859-13|Latin-7|
|○|ISO-8859-14|Latin-8|
|○|ISO-8859-15|Latin-9|
|×|byte2be||
|×|byte2le||
|×|byte4be||
|×|byte4le||
|×|~BASE64|Base64エンコード|
|×|~HTML-ENTITIES|HTMLエンティティ(Aなど)|
|×|7bit||
|×|8bit||
|○|EUC-CN|簡体字中国語EUC|
|×|CP936||
|×|HZ||
|○|EUC-TW|繁体字中国語EUC|
|×|CP950||
|○|BIG-5||
|○|EUC-KR|韓国語EUC|
|×|UHC|(CP949)|
|×|ISO-2022-KR||
|×|Windows-1251|(CP1251)|
|×|Windows-1252|(CP1252)|
|×|CP866|(IBM866)|
|○|KOI8-R||

**内部文字エンコーディング [#r676cf42]
php.ini の mbstring.internal_encoding に設定されているデフォルト文字エンコード。~
php.ini に何も設定されていない場合は「ISO-8859-1」が設定されているようだ。~
Latin-1 とも呼ばれる8bit版ASCIIコード。~
内部文字エンコーディングは以下の3つで使われる。~
:mbstring モジュールの文字列関数|mb_〜系の関数の文字エンコーディングの初期値。
:HTTP 入力文字エンコーディング変換|php.ini の「mbstring.http_input=auto」ならHTTP入力通信時に自動的に変換が行われる。~
デフォルトでは「mbstring.http_input=pass」(無効)。~
:HTTP 出力文字エンコーディング変換|php.ini の「mbstring.http_output=auto」ならHTTP出力通信時に自動的に変換が行われる。~
デフォルトでは「mbstring.http_output=pass」(無効)。~

 //現在の内部文字エンコーディングを取得
 echo mb_internal_encoding();
 
 //このスクリプト内で用いる内部文字エンコーディングを設定
 echo mb_internal_encoding('UTF-8');

**文字コードの検出 [#y8817915]
 //$str のエンコードを検出する。見つからない場合はFALSEを返す
 $encoding = mb_detect_encoding ($str);
 
 //第二引数。判定するエンコードと検出順を,区切りで指定
 //省略した場合は detect_order() の値が入る
 $encoding = mb_detect_encoding ($str,'UTF-8,SJIS,ASCII');
 
 //第三引数。STRICT 厳密な判定を行う。デフォルトでFALSE
 $encoding = mb_detect_encoding ($str,detect_order(),TRUE);

 //指定したエンコードなら真を返す
 //第二引数が省略された場合は mb_internal_encoding() の値が入る
 if( mb_check_encoding($str,'UTF-8') ){
 	echo "UTF-8",PHP_EOL;
 }

**文字コードの変換 [#v8572a27]
mb_convert_encoding( 変換させる文字列, 変換後文字コード[, 変換前文字コード] )~
 //主なエンコード文字列
 ASCII,JIS,UTF-8,EUC-JP,SJIS,Unicode
 
 //$to_encoding 変換する文字コード
 // ,で区切った左から順に評価される。
 //$from_encoding 変換する前の文字コード。デフォルトでauto
 //autoは"ASCII,JIS,UTF-8,EUC-JP,SJIS"に置き換えられる。
 $str = mb_convert_encoding($str, $to_encode[, $from_encode]);

 // シフトJISに変換
 mb_convert_encoding($str, 'SJIS')
 // 日本語EUCに変換
 mb_convert_encoding($str, 'EUC-JP')
 // UTF-8に変換
 mb_convert_encoding($str, 'UTF-8')
 // Unicodeに変換
 mb_convert_encoding($str, 'Unicode')

**かなの変換 mb_convert_kana [#e99f8d09]
 string mb_convert_kana ( string $str [, string $option [, string $encoding ]] )
$option指定した形式に $strを変換して返す。~
|~オプション|~意味|~例|h
|r|全角英字→半角英字|ABC→ABC|
|R|半角英字→全角英字|ABC→ABC|
|n|全角数字→半角数字|012→012|
|N|半角数字→全角数字|012→012|
|a|全角英数字と一部の全角記号を「半角」に変換||
|A|半角英数字と一部の半角記号を「全角」に変換&br;「"'\~」を除くASCIIコードの表示可能文字を変換する。&br;(U+0022,U+0027,U+005C,U+007E を除く U+0021〜U+007E の範囲)||
|s|全角スペース→半角スペース| → |
|S|半角スペース→全角スペース| → |
|k|全角カタカナ→半角カタカナ|アイウ→アイウ|
|K|半角カタカナ→全角カタカナ|アイウ→アイウ|
|h|全角ひらがな→半角カタカナ|あいう→アイウ|
|H|半角カタカナ→全角ひらがな|アイウ→あいう|
|c|全角カタカナ→全角ひらがな|アイウ→あいう|
|C|全角ひらがな→全角カタカナ|あいう→アイウ|
|V|"K", "H" と共に使用し、濁点付きの半角カナを一文字に変換|ガ→ガ,ガ→が|

-変換された文字
--a A ( " ' \ ~ 除く0x20〜0x7e )
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~半角英数字|
|BGCOLOR(lightyellow): |BGCOLOR(lightyellow):!|BGCOLOR(lightyellow):"|BGCOLOR(lightyellow):#|BGCOLOR(lightyellow):$|BGCOLOR(lightyellow):%|BGCOLOR(lightyellow):&|BGCOLOR(lightyellow):'|BGCOLOR(lightyellow):(|BGCOLOR(lightyellow):)|BGCOLOR(lightyellow):*|BGCOLOR(lightyellow):+|BGCOLOR(lightyellow):,|BGCOLOR(lightyellow):-|BGCOLOR(lightyellow):.|BGCOLOR(lightyellow):/|
|BGCOLOR(lightyellow):0|BGCOLOR(lightyellow):1|BGCOLOR(lightyellow):2|BGCOLOR(lightyellow):3|BGCOLOR(lightyellow):4|BGCOLOR(lightyellow):5|BGCOLOR(lightyellow):6|BGCOLOR(lightyellow):7|BGCOLOR(lightyellow):8|BGCOLOR(lightyellow):9|BGCOLOR(lightyellow)::|BGCOLOR(lightyellow):;|BGCOLOR(lightyellow):<|BGCOLOR(lightyellow):=|BGCOLOR(lightyellow):>|BGCOLOR(lightyellow):?|
|BGCOLOR(lightyellow):@|BGCOLOR(lightyellow):A|BGCOLOR(lightyellow):B|BGCOLOR(lightyellow):C|BGCOLOR(lightyellow):D|BGCOLOR(lightyellow):E|BGCOLOR(lightyellow):F|BGCOLOR(lightyellow):G|BGCOLOR(lightyellow):H|BGCOLOR(lightyellow):I|BGCOLOR(lightyellow):J|BGCOLOR(lightyellow):K|BGCOLOR(lightyellow):L|BGCOLOR(lightyellow):M|BGCOLOR(lightyellow):N|BGCOLOR(lightyellow):O|
|BGCOLOR(lightyellow):P|BGCOLOR(lightyellow):Q|BGCOLOR(lightyellow):R|BGCOLOR(lightyellow):S|BGCOLOR(lightyellow):T|BGCOLOR(lightyellow):U|BGCOLOR(lightyellow):V|BGCOLOR(lightyellow):W|BGCOLOR(lightyellow):X|BGCOLOR(lightyellow):Y|BGCOLOR(lightyellow):Z|BGCOLOR(lightyellow):[|BGCOLOR(lightyellow):\|BGCOLOR(lightyellow):]|BGCOLOR(lightyellow):^|BGCOLOR(lightyellow):_|
|BGCOLOR(lightyellow):`|BGCOLOR(lightyellow):a|BGCOLOR(lightyellow):b|BGCOLOR(lightyellow):c|BGCOLOR(lightyellow):d|BGCOLOR(lightyellow):e|BGCOLOR(lightyellow):f|BGCOLOR(lightyellow):g|BGCOLOR(lightyellow):h|BGCOLOR(lightyellow):i|BGCOLOR(lightyellow):j|BGCOLOR(lightyellow):k|BGCOLOR(lightyellow):l|BGCOLOR(lightyellow):m|BGCOLOR(lightyellow):n|BGCOLOR(lightyellow):o|
|BGCOLOR(lightyellow):p|BGCOLOR(lightyellow):q|BGCOLOR(lightyellow):r|BGCOLOR(lightyellow):s|BGCOLOR(lightyellow):t|BGCOLOR(lightyellow):u|BGCOLOR(lightyellow):v|BGCOLOR(lightyellow):w|BGCOLOR(lightyellow):x|BGCOLOR(lightyellow):y|BGCOLOR(lightyellow):z|BGCOLOR(lightyellow):{|BGCOLOR(lightyellow):||BGCOLOR(lightyellow):}|BGCOLOR(lightyellow):~||
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~半角英数字→全角英数字|
|BGCOLOR(lightblue): |BGCOLOR(lightblue):!|BGCOLOR(lightyellow):"|BGCOLOR(lightblue):#|BGCOLOR(lightblue):$|BGCOLOR(lightblue):%|BGCOLOR(lightblue):&|BGCOLOR(lightyellow):'|BGCOLOR(lightblue):(|BGCOLOR(lightblue):)|BGCOLOR(lightblue):*|BGCOLOR(lightblue):+|BGCOLOR(lightblue):,|BGCOLOR(lightblue):−|BGCOLOR(lightblue):.|BGCOLOR(lightblue):/|
|BGCOLOR(lightblue):0|BGCOLOR(lightblue):1|BGCOLOR(lightblue):2|BGCOLOR(lightblue):3|BGCOLOR(lightblue):4|BGCOLOR(lightblue):5|BGCOLOR(lightblue):6|BGCOLOR(lightblue):7|BGCOLOR(lightblue):8|BGCOLOR(lightblue):9|BGCOLOR(lightblue)::|BGCOLOR(lightblue):;|BGCOLOR(lightblue):<|BGCOLOR(lightblue):=|BGCOLOR(lightblue):>|BGCOLOR(lightblue):?|
|BGCOLOR(lightblue):@|BGCOLOR(lightblue):A|BGCOLOR(lightblue):B|BGCOLOR(lightblue):C|BGCOLOR(lightblue):D|BGCOLOR(lightblue):E|BGCOLOR(lightblue):F|BGCOLOR(lightblue):G|BGCOLOR(lightblue):H|BGCOLOR(lightblue):I|BGCOLOR(lightblue):J|BGCOLOR(lightblue):K|BGCOLOR(lightblue):L|BGCOLOR(lightblue):M|BGCOLOR(lightblue):N|BGCOLOR(lightblue):O|
|BGCOLOR(lightblue):P|BGCOLOR(lightblue):Q|BGCOLOR(lightblue):R|BGCOLOR(lightblue):S|BGCOLOR(lightblue):T|BGCOLOR(lightblue):U|BGCOLOR(lightblue):V|BGCOLOR(lightblue):W|BGCOLOR(lightblue):X|BGCOLOR(lightblue):Y|BGCOLOR(lightblue):Z|BGCOLOR(lightblue):[|BGCOLOR(lightyellow):\|BGCOLOR(lightblue):]|BGCOLOR(lightblue):^|BGCOLOR(lightblue):_|
|BGCOLOR(lightblue):`|BGCOLOR(lightblue):a|BGCOLOR(lightblue):b|BGCOLOR(lightblue):c|BGCOLOR(lightblue):d|BGCOLOR(lightblue):e|BGCOLOR(lightblue):f|BGCOLOR(lightblue):g|BGCOLOR(lightblue):h|BGCOLOR(lightblue):i|BGCOLOR(lightblue):j|BGCOLOR(lightblue):k|BGCOLOR(lightblue):l|BGCOLOR(lightblue):m|BGCOLOR(lightblue):n|BGCOLOR(lightblue):o|
|BGCOLOR(lightblue):p|BGCOLOR(lightblue):q|BGCOLOR(lightblue):r|BGCOLOR(lightblue):s|BGCOLOR(lightblue):t|BGCOLOR(lightblue):u|BGCOLOR(lightblue):v|BGCOLOR(lightblue):w|BGCOLOR(lightblue):x|BGCOLOR(lightblue):y|BGCOLOR(lightblue):z|BGCOLOR(lightblue):{|BGCOLOR(lightblue):||BGCOLOR(lightblue):}|BGCOLOR(lightyellow):~||
~
-カナ変換。濁音付きオプションVが付いた場合は濁音の結合と分離がされる
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|CENTER:|c
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~半角カタカナ|
||BGCOLOR(lightyellow):。|BGCOLOR(lightyellow):「|BGCOLOR(lightyellow):」|BGCOLOR(lightyellow):、|BGCOLOR(lightyellow):・|BGCOLOR(lightyellow):ヲ|BGCOLOR(lightyellow):ァ|BGCOLOR(lightyellow):ィ|BGCOLOR(lightyellow):ゥ|BGCOLOR(lightyellow):ェ|BGCOLOR(lightyellow):ォ|BGCOLOR(lightyellow):ャ|BGCOLOR(lightyellow):ュ|BGCOLOR(lightyellow):ョ|BGCOLOR(lightyellow):ッ|
|BGCOLOR(lightyellow):ー|BGCOLOR(lightyellow):ア|BGCOLOR(lightyellow):イ|BGCOLOR(lightyellow):ウ|BGCOLOR(lightyellow):エ|BGCOLOR(lightyellow):オ|BGCOLOR(lightyellow):カ|BGCOLOR(lightyellow):キ|BGCOLOR(lightyellow):ク|BGCOLOR(lightyellow):ケ|BGCOLOR(lightyellow):コ|BGCOLOR(lightyellow):サ|BGCOLOR(lightyellow):シ|BGCOLOR(lightyellow):ス|BGCOLOR(lightyellow):セ|BGCOLOR(lightyellow):ソ|
|BGCOLOR(lightyellow):タ|BGCOLOR(lightyellow):チ|BGCOLOR(lightyellow):ツ|BGCOLOR(lightyellow):テ|BGCOLOR(lightyellow):ト|BGCOLOR(lightyellow):ナ|BGCOLOR(lightyellow):ニ|BGCOLOR(lightyellow):ヌ|BGCOLOR(lightyellow):ネ|BGCOLOR(lightyellow):ノ|BGCOLOR(lightyellow):ハ|BGCOLOR(lightyellow):ヒ|BGCOLOR(lightyellow):フ|BGCOLOR(lightyellow):ヘ|BGCOLOR(lightyellow):ホ|BGCOLOR(lightyellow):マ|
|BGCOLOR(lightyellow):ミ|BGCOLOR(lightyellow):ム|BGCOLOR(lightyellow):メ|BGCOLOR(lightyellow):モ|BGCOLOR(lightyellow):ヤ|BGCOLOR(lightyellow):ユ|BGCOLOR(lightyellow):ヨ|BGCOLOR(lightyellow):ラ|BGCOLOR(lightyellow):リ|BGCOLOR(lightyellow):ル|BGCOLOR(lightyellow):レ|BGCOLOR(lightyellow):ロ|BGCOLOR(lightyellow):ワ|BGCOLOR(lightyellow):ン|BGCOLOR(lightyellow):゙|BGCOLOR(lightyellow):゚|
|BGCOLOR(lightyellow):ガ|BGCOLOR(lightyellow):ギ|BGCOLOR(lightyellow):グ|BGCOLOR(lightyellow):ゲ|BGCOLOR(lightyellow):ゴ|BGCOLOR(lightyellow):ザ|BGCOLOR(lightyellow):ジ|BGCOLOR(lightyellow):ズ|BGCOLOR(lightyellow):ゼ|BGCOLOR(lightyellow):ゾ|BGCOLOR(lightyellow):ダ|BGCOLOR(lightyellow):ヂ|BGCOLOR(lightyellow):ヅ|BGCOLOR(lightyellow):デ|BGCOLOR(lightyellow):ド||
|BGCOLOR(lightyellow):バ|BGCOLOR(lightyellow):ビ|BGCOLOR(lightyellow):ブ|BGCOLOR(lightyellow):ベ|BGCOLOR(lightyellow):ボ|BGCOLOR(lightyellow):パ|BGCOLOR(lightyellow):ピ|BGCOLOR(lightyellow):プ|BGCOLOR(lightyellow):ペ|BGCOLOR(lightyellow):ポ|BGCOLOR(lightyellow):(ワ)|BGCOLOR(lightyellow):(イ)|BGCOLOR(lightyellow):(エ)|BGCOLOR(lightyellow):ヴ|||
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~半角カタカナ→全角カタカナ|
||BGCOLOR(lightblue):。|BGCOLOR(lightblue):「|BGCOLOR(lightblue):」|BGCOLOR(lightblue):、|BGCOLOR(lightblue):・|BGCOLOR(lightblue):ヲ|BGCOLOR(lightblue):ァ|BGCOLOR(lightblue):ィ|BGCOLOR(lightblue):ゥ|BGCOLOR(lightblue):ェ|BGCOLOR(lightblue):ォ|BGCOLOR(lightblue):ャ|BGCOLOR(lightblue):ュ|BGCOLOR(lightblue):ョ|BGCOLOR(lightblue):ッ|
|BGCOLOR(lightblue):ー|BGCOLOR(lightblue):ア|BGCOLOR(lightblue):イ|BGCOLOR(lightblue):ウ|BGCOLOR(lightblue):エ|BGCOLOR(lightblue):オ|BGCOLOR(lightblue):カ|BGCOLOR(lightblue):キ|BGCOLOR(lightblue):ク|BGCOLOR(lightblue):ケ|BGCOLOR(lightblue):コ|BGCOLOR(lightblue):サ|BGCOLOR(lightblue):シ|BGCOLOR(lightblue):ス|BGCOLOR(lightblue):セ|BGCOLOR(lightblue):ソ|
|BGCOLOR(lightblue):タ|BGCOLOR(lightblue):チ|BGCOLOR(lightblue):ツ|BGCOLOR(lightblue):テ|BGCOLOR(lightblue):ト|BGCOLOR(lightblue):ナ|BGCOLOR(lightblue):ニ|BGCOLOR(lightblue):ヌ|BGCOLOR(lightblue):ネ|BGCOLOR(lightblue):ノ|BGCOLOR(lightblue):ハ|BGCOLOR(lightblue):ヒ|BGCOLOR(lightblue):フ|BGCOLOR(lightblue):ヘ|BGCOLOR(lightblue):ホ|BGCOLOR(lightblue):マ|
|BGCOLOR(lightblue):ミ|BGCOLOR(lightblue):ム|BGCOLOR(lightblue):メ|BGCOLOR(lightblue):モ|BGCOLOR(lightblue):ヤ|BGCOLOR(lightblue):ユ|BGCOLOR(lightblue):ヨ|BGCOLOR(lightblue):ラ|BGCOLOR(lightblue):リ|BGCOLOR(lightblue):ル|BGCOLOR(lightblue):レ|BGCOLOR(lightblue):ロ|BGCOLOR(lightblue):ワ|BGCOLOR(lightblue):ン|BGCOLOR(lightblue):゛|BGCOLOR(lightblue):゜|
|BGCOLOR(lightblue):ガ|BGCOLOR(lightblue):ギ|BGCOLOR(lightblue):グ|BGCOLOR(lightblue):ゲ|BGCOLOR(lightblue):ゴ|BGCOLOR(lightblue):ザ|BGCOLOR(lightblue):ジ|BGCOLOR(lightblue):ズ|BGCOLOR(lightblue):ゼ|BGCOLOR(lightblue):ゾ|BGCOLOR(lightblue):ダ|BGCOLOR(lightblue):ヂ|BGCOLOR(lightblue):ヅ|BGCOLOR(lightblue):デ|BGCOLOR(lightblue):ド||
|BGCOLOR(lightblue):バ|BGCOLOR(lightblue):ビ|BGCOLOR(lightblue):ブ|BGCOLOR(lightblue):ベ|BGCOLOR(lightblue):ボ|BGCOLOR(lightblue):パ|BGCOLOR(lightblue):ピ|BGCOLOR(lightblue):プ|BGCOLOR(lightblue):ペ|BGCOLOR(lightblue):ポ|BGCOLOR(lightblue):ヮ|BGCOLOR(lightblue):ヰ|BGCOLOR(lightblue):ヱ|BGCOLOR(lightblue):ヴ|BGCOLOR(lightblue):ヵ|BGCOLOR(lightblue):ヶ|
|>|>|>|>|>|>|>|>|>|>|>|>|>|>|>|~半角カタカナ→全角ひらがな|
||BGCOLOR(lightblue):。|BGCOLOR(lightblue):「|BGCOLOR(lightblue):」|BGCOLOR(lightblue):、|BGCOLOR(lightblue):・|BGCOLOR(lightblue):を|BGCOLOR(lightblue):ぁ|BGCOLOR(lightblue):ぃ|BGCOLOR(lightblue):ぅ|BGCOLOR(lightblue):ぇ|BGCOLOR(lightblue):ぉ|BGCOLOR(lightblue):ゃ|BGCOLOR(lightblue):ゅ|BGCOLOR(lightblue):ょ|BGCOLOR(lightblue):っ|
|BGCOLOR(lightblue):ー|BGCOLOR(lightblue):あ|BGCOLOR(lightblue):い|BGCOLOR(lightblue):う|BGCOLOR(lightblue):え|BGCOLOR(lightblue):お|BGCOLOR(lightblue):か|BGCOLOR(lightblue):き|BGCOLOR(lightblue):く|BGCOLOR(lightblue):け|BGCOLOR(lightblue):こ|BGCOLOR(lightblue):さ|BGCOLOR(lightblue):し|BGCOLOR(lightblue):す|BGCOLOR(lightblue):せ|BGCOLOR(lightblue):そ|
|BGCOLOR(lightblue):た|BGCOLOR(lightblue):ち|BGCOLOR(lightblue):つ|BGCOLOR(lightblue):て|BGCOLOR(lightblue):と|BGCOLOR(lightblue):な|BGCOLOR(lightblue):に|BGCOLOR(lightblue):ぬ|BGCOLOR(lightblue):ね|BGCOLOR(lightblue):の|BGCOLOR(lightblue):は|BGCOLOR(lightblue):ひ|BGCOLOR(lightblue):ふ|BGCOLOR(lightblue):へ|BGCOLOR(lightblue):ほ|BGCOLOR(lightblue):ま|
|BGCOLOR(lightblue):み|BGCOLOR(lightblue):む|BGCOLOR(lightblue):め|BGCOLOR(lightblue):も|BGCOLOR(lightblue):や|BGCOLOR(lightblue):ゆ|BGCOLOR(lightblue):よ|BGCOLOR(lightblue):ら|BGCOLOR(lightblue):り|BGCOLOR(lightblue):る|BGCOLOR(lightblue):れ|BGCOLOR(lightblue):ろ|BGCOLOR(lightblue):わ|BGCOLOR(lightblue):ん|BGCOLOR(lightblue):゛|BGCOLOR(lightblue):゜|
|BGCOLOR(lightblue):が|BGCOLOR(lightblue):ぎ|BGCOLOR(lightblue):ぐ|BGCOLOR(lightblue):げ|BGCOLOR(lightblue):ご|BGCOLOR(lightblue):ざ|BGCOLOR(lightblue):じ|BGCOLOR(lightblue):ず|BGCOLOR(lightblue):ぜ|BGCOLOR(lightblue):ぞ|BGCOLOR(lightblue):だ|BGCOLOR(lightblue):ぢ|BGCOLOR(lightblue):づ|BGCOLOR(lightblue):で|BGCOLOR(lightblue):ど||
|BGCOLOR(lightblue):ば|BGCOLOR(lightblue):び|BGCOLOR(lightblue):ぶ|BGCOLOR(lightblue):べ|BGCOLOR(lightblue):ぼ|BGCOLOR(lightblue):ぱ|BGCOLOR(lightblue):ぴ|BGCOLOR(lightblue):ぷ|BGCOLOR(lightblue):ぺ|BGCOLOR(lightblue):ぽ|BGCOLOR(lightblue):ゎ|BGCOLOR(lightblue):ゐ|BGCOLOR(lightblue):ゑ|BGCOLOR(lightblue):う゛|||

**mb_str_replace [#p7fa1ee0]
絶対あるべきなのに公式の関数にはない。~
既存のマルチバイト関数を組み合わせてそれっぽいのは作れる。~
 // 文字列のみ対応マルチバイト文字変換
 // http://jp.php.net/manual/ja/function.mb-strpos.php のサンプルコードちょっといじっただけ
 function _mb_str_replace($search,$replace,$subject,$offset=0,$encoding=’auto’){
 	$len_sch = mb_strlen($search,$encoding);
 	$len_rep = mb_strlen($replace,$encoding);
 	while ( ($offset = mb_strpos($subject,$search,$offset,$encoding)) !== FALSE ){
 		$subject = mb_substr($subject,0,$offset,$encoding)
 		.$replace
 		.mb_substr($subject,$offset + $len_sch,mb_strlen($subject,$encoding),$encoding);
 		$offset = $offset + $len_rep;
 		if( $offset > mb_strlen($subject,$encoding) )
 			break;
 	}
 	return $subject;
 }
-標準関数のstr_replaceの仕様
 mixed = str_replace(mixed $search,mixed $replace,mixed $subject,int &$count);
--$subjectに配列を指定すると配列の要素1つ1つに置き換えを行い置き換え結果を配列で返す
--$countを指定した場合は$subjectが配列の場合を含む、置き換えを行った総数がセットされる。
--$searchに文字列、$replaceに文字列を指定すると$searchに当てはまる文字列をすべて$replaceに置き換える
--$searchに配列、$replaceに文字列を指定すると配列$searchの要素に当てはまる文字列をすべて$replaceに置き換える
--$searchに文字列、$replaceに配列を指定すると$searchに当てはまる文字列をすべて「Array」に置き換える
--$searchに配列、$replaceに配列を指定すると配列$searchの要素に対応する配列$replaceの要素に置き換える。~
配列$searchが配列$replaceより短い場合は、余った分の$replaceの要素は無視される。~
配列$searchが配列$replaceより長い場合は、足りない分の$replaceの要素は空文字列に変換される。~
--$subject が多次元配列の場合、配列のリファレンスを持った要素は変換されずそのまま返される。
 //動作例
 $s = range('a','f');
 $r = range('A','C');
 echo str_replace($s,$r,'a,b,c,d,e,f');	//A,B,C,,,
 
 $s = range('a','c');
 $r = range('A','F');
 echo str_replace($s,$r,'a,b,c,d,e,f');	//A,B,C,d,e,f

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規新規下位 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS