JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
metaform: put each listing th on its own line
[wfpl.git] / encode.php
index 4ef72ae..8a41eeb 100644 (file)
@@ -146,9 +146,16 @@ function enc_tab($str) {
        return "\t" . implode("\n\t", explode("\n", $str));
 }
 
-function enc_upper($str) {
+function enc_uppercase($str) {
        return strtoupper($str);
 }
+function enc_upper($str) { # depricated
+       return enc_uppercase($str);
+}
+
+function enc_lowercase($str) {
+       return strtolower($str);
+}
 
 # pass date in the form 2008-05-23
 # ercodes date as 05/23/2008
@@ -432,3 +439,21 @@ function enc_s($str) {
 
        return 's';
 }
+
+# turn http/ftp (s) urls into html links (and encode everything for html)
+# does not encode without protocol (eg "www.foo.com")
+# does not linkify email addresses
+function enc_linkify($str) {
+       $ret = '';
+       $even = true;
+       $pieces = preg_split("/((?:ht|f)tps?:\/\/[^ \,\"\n\r\t<]+)/is", $str, null, PREG_SPLIT_DELIM_CAPTURE);
+       foreach($pieces as $piece) {
+               if($even) {
+                       $ret .= enc_html($piece);
+               } else {
+                       $ret .= '<a href="' . enc_attr($piece) . '">' . enc_html($piece) . '</a>';
+               }
+               $even = !$even;
+       }
+       return $ret;
+}