diff options
author | Joey Hess <joey@kitenet.net> | 2010-06-23 13:40:10 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-06-23 13:40:10 -0400 |
commit | 19dcd50c8497eca4981f9a90cc3e014789a50f76 (patch) | |
tree | 7db66e82f646cdcb527e11018a26b2f389fc8826 /IkiWiki/Plugin | |
parent | 07a08122d926ab6b7741c94bc6c0038ffe0113fb (diff) |
avoid needing full email regexp
Fully validating the email address is not necessary,
all that matters is not matching an url like http://foo@bar/
as an email address.
Diffstat (limited to 'IkiWiki/Plugin')
-rw-r--r-- | IkiWiki/Plugin/link.pm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/IkiWiki/Plugin/link.pm b/IkiWiki/Plugin/link.pm index d41965bd3..7d4692ef0 100644 --- a/IkiWiki/Plugin/link.pm +++ b/IkiWiki/Plugin/link.pm @@ -7,7 +7,7 @@ use IkiWiki 3.00; my $link_regexp; -my $email_regexp = qr/^(?:[a-z0-9!#$%&'*+\/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+\/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i; +my $email_regexp = qr/^.+@.+$/; my $url_regexp = qr/^(?:[^:]+:\/\/|mailto:).*/i; sub import { @@ -82,7 +82,7 @@ sub externallink ($;@) { my $pagetitle = shift; # build pagetitle - if (!($pagetitle)) { + if (! $pagetitle) { $pagetitle = $url; # use only the email address as title for mailto: urls if ($pagetitle =~ /^mailto:.*/) { @@ -90,8 +90,8 @@ sub externallink ($;@) { } } - # handle email-addresses (without mailto:): - if ($url =~ /$email_regexp/) { + if ($url !~ /$url_regexp/) { + # handle email addresses (without mailto:) $url = "mailto:" . $url; } |