X-Git-Url: https://jasonwoof.com/gitweb/?a=blobdiff_plain;f=encode.php;h=5b8eadf9426beb13051670821f51991f8f4bf25d;hb=f7f243ac52fea086657aca1b589018778d7198d6;hp=90ec6c8ac6c99e99fdf272bbc966dc0e7763d508;hpb=3bec0ef771d741361c6c4c4c1ff069398f6e37a0;p=wfpl.git diff --git a/encode.php b/encode.php index 90ec6c8..5b8eadf 100644 --- a/encode.php +++ b/encode.php @@ -20,8 +20,22 @@ # MA 02111-1307, USA. -# This file contains basic encodings +# This file contains basic encodings. These are used by the encoder. You can +# specify any template tag to be encoded with this syntax: ~variable.encoding~ +# +# this example:

~foo.html~

+# will encode foo (using enc_html()) before displaying it, so that characters +# such as < will display properly. + + +# encode for putting within double-quotes in SQL +function enc_sql($str) { + $str = str_replace("\\", "\\\\", $str); + $str = str_replace('"', "\\\"", $str); + return $str; +} +# encode for output in html. does nothing with whitespace function enc_html($str) { $str = str_replace('&', '&', $str); $str = str_replace('<', '<', $str); @@ -37,4 +51,28 @@ function enc_attr($str) { return $str; } +# this is a stupid hack to work around html's stupid syntax for checkboxes +function enc_checked($str) { + if($str == 'Yes') { + return '" checked="checked'; + } else { + return ''; + } +} + +# add a tab at the begining of each non-empty line +function enc_tab($str) { + $lines = explode("\n", $str); + $out = ''; + foreach($lines as $line) { + if($line) { + $out .= "\t$line"; + } + $out .= "\n"; + } + + # remove the extra newline added above + return substr($out, 0, -1); +} +?>