メールアドレスを入力すると、自動的にmailto:を付けてくれますが、複数のメールアドレス宛のリンクを付けたいと思っても、別々のmailto:が付いてしまう。subject,bodyなんかも考慮すると、プラグインで対応するのが良いのかも。
diff -u -b -r1.44 make_link.php --- make_link.php 2 Jun 2003 09:58:27 -0000 1.44 +++ make_link.php 14 Jun 2003 17:17:31 -0000 @@ -404,7 +404,7 @@ $s1 = $this->start + 1; return <<<EOD (?:\[\[([^\]]+)(?:>|:))? # (1) alias - ([\w.-]+@[\w-]+\.[\w.-]+) # (2) mailto + ([\w.-]+@[\w-]+\.[\w.-]+|mailto:[!~*'();\/?:\@&=+\$,%#\w.-]+) # (2) mailto (?($s1)\]\]) # close bracket if (1) EOD; } @@ -416,8 +416,8 @@ { $arr = $this->splice($arr); - $name = $arr[2]; - $alias = ($arr[1] == '') ? $arr[2] : $arr[1]; + $name = htmlspecialchars(preg_replace('/^mailto:/', '', $arr[2])); + $alias = ($arr[1] == '') ? $name : $arr[1]; return parent::setParam($page,$name,'mailto',$alias); }↓な記述ができるようになります。
[[help:mailto:foo@example.com,bar@example.net?body=help&subject=help]]
diff -u -b -r1.44 make_link.php --- make_link.php 2 Jun 2003 09:58:27 -0000 1.44 +++ make_link.php 15 Jun 2003 13:48:55 -0000 @@ -330,7 +330,7 @@ ([^\]]+)(?:>|:) # (2) alias )? ( # (3) url - (?:https?|ftp|news):\/\/[!~*'();\/?:\@&=+\$,%#\w.-]+ + (?:(?:https?|ftp|news):\/\/|mailto:)[!~*'();\/?:\@&=+\$,%#\w.-]+ ) (?($s1)\]\]) # close bracket EOD;