ad_enhanced_text_escape_disallowed (private)
ad_enhanced_text_escape_disallowed text
Defined in packages/acs-tcl/tcl/text-html-procs.tcl
- Parameters:
- text (required)
- Partial Call Graph (max 5 caller/called nodes):
- Testcases:
- No testcase defined.
Source code: set tagDict {} #ns_log notice "ad_enhanced_text_escape_disallowed called on [ns_conn url]?[ns_conn query]" if {[::acs::icanuse "ns_parsehtml"]} { #if {[ns_conn isconnected]} { # ns_log notice "PARSE called by [ns_conn url]?[ns_conn query]" #} set parsed [ns_parsehtml -noangle -- $text] set allowed_tags { p /p a /a li /li ul /ul ol /ol i /i b /b em /em tt /tt pre /pre code /code strong /strong small /small blockquote /blockquote abbr /abbr br hr img } # Tags NOT supported in HTML5: # # acronym applet basefont big center dir font frame # frameset isindex noframes s strike tt u # # "tt" is deprecated (actually "not supported", but it # continues to work, since it is in wide use). # Alternatives: "samp", "kbd", "code", "var" set delimiter {{< <samp><} {> ></samp>}} set out "" foreach token $parsed { lassign $token kind chunk parsed if {$kind eq "tag"} { set tag [string tolower [lindex $parsed 0]] set disallowed [expr {$tag ni $allowed_tags}] if {$disallowed} { ns_log notice "do not allow tag $tag [ns_conn url]?[ns_conn query]" set t [ns_quotehtml $chunk] } else { if {[string range $tag 0 0] eq "/"} { dict incr tagDict [string range $tag 1 end] -1 } else { dict incr tagDict $tag 1 } set t $chunk } append out [lindex $delimiter 0 $disallowed] $t [lindex $delimiter 1 $disallowed] } else { append out [ns_quotehtml $chunk] } } set text $out #ns_log notice "tagDict <$tagDict>" } return [list text $text tagDict $tagDict]XQL Not present: Generic, PostgreSQL, Oracle