PHPのmb_eregi_replace()関数とは?構文・パラメータ・使用例を徹底解説
PHPのmb_eregi_replace()は、マルチバイト文字に対応した正規表現による置換を行う関数で、大文字・小文字を区別せずに処理を実行できるのが特徴です。対象の文字列の中から指定したパターンに一致する部分を検索し、見つかったテキストを別の文字列に置き換えます。この関数はPHP 4.2以降で利用できます。
なお注意点として、mb_eregi_replace()はPHP 7.3で非推奨となり、PHP 8では削除されました。新規の開発では、preg_replace()を大文字小文字を無視する「i」修飾子およびマルチバイト対応の「u」修飾子と組み合わせて使うことが推奨されます。
構文
string mb_eregi_replace(string $pattern, string $replacement, string $string, ?string $options = null)
パラメータ
mb_eregi_replace()は、以下の4つの引数を受け取ります。
$pattern − 正規表現パターンを指定します。マルチバイト文字を使用することもでき、大文字・小文字の違いは無視されます。
$replacement − 置換後のテキストを指定します。
$string − 検索対象となる文字列を指定します。
$options − 検索オプションを指定します。「i」(大文字小文字を無視)や「x」(拡張正規表現)などを組み合わせて設定できます。
戻り値
mb_eregi_replace()は、処理が成功した場合には置換後の文字列を返します。一方、文字列が現在の内部エンコーディングとして不正な場合などにはエラーを返します。
使用例
次のコードでは、文字列「pHp Tutorial」に含まれる小文字の「p」を大文字の「P」に置き換えています。
<?php
// エンコーディングをUTF-8に設定
$re = mb_regex_encoding("UTF-8");
// mb_eregi_replace()で「p」を「P」に置換
$string = mb_eregi_replace("[p]", "P", "pHp Tutorial");
var_dump($re);
var_dump($string);
?>
実行結果
bool(true)
string(12) "PHP Tutorial"
このように、大文字・小文字が混在した「pHp」という文字列でも、すべての「p」「P」が一括して大文字「P」に置き換えられ、「PHP Tutorial」という結果が得られます。日本語などのマルチバイト文字列を扱う際にも安心して使えるのが、この系統のmb_*関数の利点です。
-
PHPのstr_pad()関数とは?文字列のパディング方法をわかりやすく解説
PHPのstr_pad()関数は、文字列を指定した長さまで特定の文字で埋め(パディング)、新しい長さの文字列を返す関数です。文字列の左側・右側・両側に任意の文字を追加したい場合に便利です。 基本構文 str_pad(str, len, pad_str, pad_type) パラメータの詳細 str − パディング対象となる元の文字列を指定します。 len − パディング後の新しい文字列の長さを指定します。 pad_str − 埋め合わせに使用する文字列(パディング文字)を指定します。省略した場合は半角スペースが使用されます。 pad_type − 文字列のどちら側にパディングするかを指定しま
-
PHPのquoted_printable_encode()関数の使い方を徹底解説
PHPのquoted_printable_encode()関数は、8ビット文字列をquoted-printable形式の文字列に変換するための組み込み関数です。quoted-printableはMIME(Multipurpose Internet Mail Extensions)で定義されているエンコード方式の一つで、主に電子メールで非ASCII文字(日本語など)を安全に送信する際に利用されます。構文quoted_printable_encode(str)パラメータstr − 変換対象となる8ビット文字列を指定します。この引数は必須です。戻り値quoted_printable_encode()