admin and preg_match('/\A<[a-z][^>]*>/', $input)) { return $input; # allow html input as is if privileged } $html = preg_replace( ["/\r\n?/", "/ +\n/", "/\n/", '/\b_(\w+)_\b/'], ["\n", "
", "

\n

", '$1' ], htmlspecialchars($input) ); return "

$html

"; }