ColdFusion CustomTags
Safe Text
<!--- Blocks the display of HTML and white space that is located outside of cfoutput tags. --->
<CFSETTING ENABLECFOUTPUTONLY="Yes">
<cfparam name="Attributes.safe_text" type="string">
<!--- Define list of "bad" characters --->
<CFSET bad_chars="&,<,>,"",Æ,Á,Â,À,Å,Ã,Ä,Ç,Ð,É,Ê,È,Ë,Í,Î,Ì,Ï,Ñ,Ó,Ô,Ò,Ø,Õ,Ö,Þ,Ú,Û,Ù,Ü,Ý,
á,â,æ,à,å,ã,ä,ç,éê,è,ð,ë,í,î,ì,ï,ñ,ó,ô,ò,ø,õ,ö,ß,þ,ú,û,ù,ü,ý,ÿ,¡,£,¤,
¥,¦,§,¨,©,ª,«,¬,,®,¯,°,±,²,³,´,µ,¶,·,¸,¹,º,»,¼,½,¾,¿,×,÷,¢">
<!--- Define list of "good" characters --->
<CFSET good_chars="&,<,>,",Æ,Á,Â,À
,Å,Ã,Ä,Ç,Ð,É,Ê,È,Ë,Í,
Î,Ì,Ï,Ñ,Ó,Ô,Ò,Ø,Õ,Ö,
Þ,Ú,Û,Ù,Ü,Ý,á,â,æ,
à,å,ã,ä,ç,é,ê,è,ð,ë
,í,î,ì,ï,ñ,ó,ô,ò,ø,õ,
ö,ß,þ,ú,û,ù,ü,ý,ÿ,¡,
£,¤,¥,¦,§,¨,©,ª,«,¬,­,
®,¯,°,±,²,³,´µ,¶,·,
¸,¹,º,»,¼,½,¾,¿,×,÷,¢">
<CFSET caller.safe_content=ReplaceList(Attributes.safe_text, bad_chars, good_chars)>
<CFSETTING ENABLECFOUTPUTONLY="No">Check if a string contains HTML code. Tag example:
<cfset content = "">
<form name="test" method="post" action="safe_txt_out.cfm">
<textarea name="txt" cols="40" rows="5"><cfoutput>#content#</cfoutput></textarea><br>
<input name="Submit" type="submit">
</form>
<cfmodule template="safe_text.cfm"
safe_text = "#Form.txt#" >
<cfoutput>#safe_content#</cfoutput>
