続・mailto記法

id:cubicdaiya:20060801の続き。

mailto記法だが, 勉強が一通り終わった後にPHPポケットリファレンスを見ていて
実はちょ〜簡単にできることに気が付いた。

private function createMailTo(){
    $reg = '/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i';
    $this->text = preg_replace($reg, "<a href=\"mailto:\\1\">\\1</a>", $this->text);
}

preg_replaceで指定した正規表現($reg)の()で囲まれた部分を置換文字列の方(\\1の部分)に
持ってこれるとは知らなかったので今までは大半の記法の関数でテキストをexplodeで行毎に
配列に詰め込んでループを回してpreg_match→preg_replaceって感じでやってたのだが,
ほかの記法もこれでもっと簡単にできそう。


[改訂版] PHP ポケットリファレンス (Pocket reference)

[改訂版] PHP ポケットリファレンス (Pocket reference)