diff options
author | Jason Oster <parasytic@users.sourceforge.net> | 2009-05-29 15:30:48 +0000 |
---|---|---|
committer | Jason Oster <parasytic@users.sourceforge.net> | 2009-05-29 15:30:48 +0000 |
commit | db1ba3df77c858b3da994cfdad9f0eed0ca4a639 (patch) | |
tree | 9ee84f4f61b35c63f91023bb9d83a4965ba40949 /functions | |
parent | 9909e4f125cd32074c8f680529cf96620a4d93d5 (diff) | |
download | phpicalendar-db1ba3df77c858b3da994cfdad9f0eed0ca4a639.tar.gz phpicalendar-db1ba3df77c858b3da994cfdad9f0eed0ca4a639.tar.bz2 phpicalendar-db1ba3df77c858b3da994cfdad9f0eed0ca4a639.zip |
Better handling of URLs and email addresses in event descriptions (also strip "blocked" protocols, added by some mail servers)
Diffstat (limited to 'functions')
-rw-r--r-- | functions/template.php | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/functions/template.php b/functions/template.php index 0a0c212..4d7ad72 100644 --- a/functions/template.php +++ b/functions/template.php @@ -90,8 +90,8 @@ class Page { $location = sanitizeForWeb(stripslashes(urldecode($new_val2['location']))); $description = sanitizeForWeb(stripslashes(urldecode($new_val2['description']))); if (!empty($description)) { - $description = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]",'<a target="_new" href="\0">\0</a>', $description); - $description = ereg_replace("[a-zA-Z0-9_.%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}", '<a href="mailto:\0">\0</a>', $description); + $description = ereg_replace("(blocked)?([[:alpha:]]+://([^<>&[:space:]]|&)+[[:alnum:]/])", '<a target="_new" href="\2">\2</a>', $description); + $description = ereg_replace("(blocked)?(mailto:)?([[:alnum:]_.%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,4})", '<a href="mailto:\3">\3</a>', $description); } $event_start = $new_val2['event_start']; |