« PHP:ereg()関数・eregi()関数 | メイン | PHP:split()関数・spliti()関数 »

2005年12月23日

PHP:ereg_replace()関数・eregi_replace()関数

ereg_replace()関数
正規表現にマッチした部分を指定した文字列に置き換えます。
大文字・小文字の違いを区別します。

eregi_replace()関数
正規表現にマッチした部分を指定した文字列に置き換えます。
大文字・小文字の違いを区別しません。

※正規表現を必要としない置換えに関しては、str_replace()関数の方がオーバーヘッドが少なく、パフォーマンスが優れています。固定値同士の置換えはstr_replace()関数を優先的に使うのがいいでしょう。

上記の特性があるため、大文字・小文字を区別する必要がない場合には
eregi_replace()関数のほうが高速です。

print ereg_replace("#[0-9A-F]{6}", "#000000", "<table bgcolor='#FFFFFF'>");
//「0〜9またはA〜F6文字」にマッチした部分を「#000000」に置換え

※上記の結果、「<table bgcolor='#000000'>」を出力します。

print ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",
"<a href=\"\\0\" target=\"_blank\">\\0</a>", "スイートボートブログ:http://blog.livedoor.jp/sweetbeach/");

※上記の結果、「スイートボートブログ:http://blog.livedoor.jp/sweetbeach/」を出力します。

※マッチングした文字列全体を「\0」、サブパターンにマッチングした文字列は「\1」〜「\9」として使用することができます。(上記の例では文字列全体を\0として取得しています。)

投稿者 wing : 2005年12月23日 00:45

コメント