PHP正規表現 パターン演算子u

ブログ | 2009/5/9 21:38
ダニエル・カールが化けるので調べてみた。
preg_replace_callbackで化けていた。

URLの変換は、
$str = preg_replace_callback('/(<a [^>]+?>.+?</a>)|(https?://[^ ^\r\n^<^)^)^ ]+)/i', array($this,'url'), $str);
こんな感じにしていたのだけれど、正規表現内の「^)」「^ 」で化けていたようだ。
で、検索していたら、PHPの正規表現には、UTF-8用の「u」というパターン演算子があるとのこと。
http://jp2.php.net/manual/ja/reference.pcre.patt...

で、uをつけて解決。
$str = preg_replace_callback('/(<a [^>]+?>.+?</a>)|(https?://[^ ^\r\n^<^)^)^ ]+)/iu', array($this,'url'), $str);

▼追記 2009/5/9 21:49
ん、パターン修飾子って言うのか。
縮小 拡大

ログインしておくと、後で編集が可能です。

Rottel内コンテンツ

ユーザー一覧

Rottelとは?
利用規約
開発飲料
利用者の声
ヘルプ
close