[[foo|mailto:bar@hoge.jp]]
みたいな記述を
<a href="mailto:bar@hoge.jp">foo</a>
に書き換えて表示させたいんですが、

$comment = [[foo|mailto:bar@hoge.jp]];
$comment = preg_replace("/\[\[(.*?)\|(.*?)\]\]/","<a href=\"$2\">$1</a>",$comment);
とやっても置換できませんでした

[と|はエスケープ必須ですよね?

どこをどう修正したらうまくいきますでしょうか
お教えくださいますようお願いします