(PHP 4, PHP 5)
eregi_replace — 大文字小文字を区別せずに正規表現による置換を行う
$pattern
, string $replacement
, string $string
)この関数は、アルファベット文字をマッチングさせる際に大文字 小文字の区別をしないこと以外は ereg_replace() と同じです。
この関数は PHP 5.3.0 で 非推奨となりました。 この機能を使用しないことを強く推奨します。
pattern
POSIX 拡張正規表現。
replacement
pattern
の中に括弧でくくられた部分
文字列が含まれている場合、replacement
の中に \数字
のような部分文字列を埋め込むこともできます。この部分は、
「数字」番目の括弧でくくられた部分文字列にマッチする文字列に
置き換えられます。また、\0 は文字列全体を
指します。9 個までの部分文字列を使うことができます。括弧は
入れ子になっていても構いません。この場合は開き括弧 '(' が
最大 9 個まで使用可能です。
string
入力文字列。
置換後の文字列を返します。 マッチしなかった場合は、元の文字列をそのまま返します。
例1 検索結果の強調表示
<?php
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1<span class="search">\\2</span>';
$body = eregi_replace($pattern, $replacement, $body);
?>
注意:
PHP 5.3.0 以降、 regex 拡張モジュールは非推奨となりました。かわりに PCRE 拡張モジュール を使うことが推奨されています。 この関数をコールすると
E_DEPRECATED
が発生します。 PCRE への変換についてのヘルプは 相違点の一覧 を参照ください。
eregi_replace() は PHP 5.3.0 以降で非推奨になりました。この関数のかわりに
preg_replace() で i (PCRE_CASELESS
)
修飾子 を使うことを推奨します。