diff --git a/htdocs/sql/libraries/sanitizing.lib.php b/htdocs/sql/libraries/sanitizing.lib.php
new file mode 100755
--- /dev/null
+++ b/htdocs/sql/libraries/sanitizing.lib.php
@@ -0,0 +1,70 @@
+ '<',
+ '>' => '>',
+ '[i]' => '', // deprecated by em
+ '[/i]' => '', // deprecated by em
+ '[em]' => '',
+ '[/em]' => '',
+ '[b]' => '', // deprecated by strong
+ '[/b]' => '', // deprecated by strong
+ '[strong]' => '',
+ '[/strong]' => '',
+ '[tt]' => '', // deprecated by CODE or KBD
+ '[/tt]' => '
', // deprecated by CODE or KBD
+ '[code]' => '',
+ '[/code]' => '
',
+ '[kbd]' => '',
+ '[/kbd]' => '',
+ '[br]' => '
',
+ '[/a]' => '',
+ '[sup]' => '',
+ '[/sup]' => '',
+ );
+ $message = strtr($message, $replace_pairs);
+
+ $pattern = '/\[a@([^"@]*)@([^]"]*)\]/';
+
+ if (preg_match_all($pattern, $message, $founds, PREG_SET_ORDER)) {
+ $valid_links = array(
+ 'http', // default http:// links (and https://)
+ './Do', // ./Documentation
+ );
+
+ foreach ($founds as $found) {
+ // only http... and ./Do... allowed
+ if (! in_array(substr($found[1], 0, 4), $valid_links)) {
+ return $message;
+ }
+ // a-z and _ allowed in target
+ if (! empty($found[2]) && preg_match('/[^a-z_]+/i', $found[2])) {
+ return $message;
+ }
+ }
+
+ $message = preg_replace($pattern, '', $message);
+ }
+
+ return $message;
+}
+?>