# 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: <p>~foo.html~</p>
+# 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);
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);
+}
+
+?>