Use "ns_parsehtml" for speed and correctness when available
The new NaviServer built-in command "ns_parsehtml" is used on
several occasions in the code when available, namely in
- util_close_html_tags
- escaping disallowed HTML tags in ad_text_to_html
- util_close_html_tags
The command "util_close_html_tags" has a long history of troubles,
since it was implemented originally based on regular expressions. It
was reported in Jan 2009, that the function took on certain forums
entries 6 to 9 hours (e.g. /forums/message-view?message_id=357753) to
finish. Therefore, at this time a quick version based on tdom was
introduced, which reduced at that time the performance to 7.3
seconds. However, the tdom-based version tend to fail on invalid HTML,
so it could cover only a few cases. The new "ns_parsehtml" is more
robust and works very stable on openacs.org with the know problem
cases. Furthermore, this version is also significantly faster than the
tdom version.