FlashHtmlFormat(text)
Last updated September 15, 2003
Version: 1 | Requires: CF5 | Library: StrLib
Description:
Flash doesn't support all html tags, and is very strict on the format of the tags it does support. This function to attempts to convert the string into "Flash Safe" HTML code. Including simulation of <ol> and <li> tags.
Return Values:
Returns a string.
Example:
<cfsavecontent variable="text">
This some <b>html</b> text. It's <i>very</i> interesting.
<p>
<ol>
<li>List items...
<li>More list items.
</ol>
<p>
<table>
<tr>
<td>foo</td>
</tr>
</table>
</cfsavecontent>
<cfoutput>
&DisplayText=#FlashHtmlFormat(text)#&
</cfoutput>
Parameters:
Name | Description | Required |
---|---|---|
text | Text to be converted. | Yes |
Full UDF Source:
/**
* Converts a string into "Flash" safe HTML.
*
* @param text Text to be converted. (Required)
* @return Returns a string.
* @author William Steiner (williams@hkusa.com)
* @version 1, September 15, 2003
*/
function FlashHTMLFormat(someText) {
var returnText = someText;
var listCount = 0;
returnText = ReplaceNoCase(returnText, "#Chr(10)#", "", "ALL");
returnText = ReplaceNoCase(returnText, "<OL></OL>", "", "ALL");
returnText = StripCR(returnText);
while (FindNoCase('<OL>', returnText) neq 0) {
while ((FindNoCase('</OL>', returnText) gt FindNoCase('<li>', returnText)) AND (FindNoCase('<li>', returnText) neq 0)) {
startSearchAt = FindNoCase('<OL>', returnText);
listCount = listCount + 1;
// replaces the next <li> with the correct number.
if (listCount gt 9)
returnText = ReplaceNoCase(returnText, "<li>", "<BR> #listCount#. ");
else
returnText = ReplaceNoCase(returnText, "<li>", "<BR> #listCount#. ");
}
// we are done with that list, get rid of the <ol> tag so we can find the next
listCount = 0;
returnText = ReplaceNoCase(returnText, "<OL>", "<br>", "one");
returnText = ReplaceNoCase(returnText, "</OL>", "<br><br>", "one");
}
returnText = ReplaceNoCase(returnText, "<LI>", "<br>", "ALL");
// Step xx, get rid of ALL </li>, </ol>, and </ul> tags
returnText = ReplaceNoCase(ReplaceNoCase(ReplaceNoCase(returnText, "</li>", "", "ALL"), "</ol>", "<br><br>", "ALL"), "</ul>", "<br><br>", "ALL");
// Step xx, REReplace statement changes the color attribute of the font tag to have
// quotes around it...ActiveEdit strips them out :(
returnText = REReplaceNoCase(returnText, "<FONT color=(#Chr(35)#[A-Za-z0-9]*)></FONT>", "", "ALL");
returnText = REReplaceNoCase(returnText, "target=([A-Za-z0-9_]*)", "target=#Chr(34)#\1#Chr(34)#", "ALL");
returnText = REReplaceNoCase(returnText, "face=([A-Za-z0-9_ ]*)", "face=#Chr(34)#\1#Chr(34)#", "ALL");
returnText = REReplaceNoCase(returnText, "color=(#Chr(35)#[A-Za-z0-9]*)", "color=#Chr(34)#\1#Chr(34)#", "ALL");
returnText = REReplaceNoCase(returnText, "size=([A-Za-z0-9]*)", "size=#Chr(34)#\1#Chr(34)#", "ALL");
returnText = ReplaceNoCase(returnText, " ", " ", "ALL");
returnText = ReplaceNoCase(returnText, "&##39;", "'", "ALL");
returnText = ReplaceNoCase(returnText, "'", "'", "ALL");
returnText = ReplaceNoCase(returnText, "'", "'", "ALL");
returnText = ReplaceNoCase(returnText, """", "#Chr(34)#", "ALL");
returnText = ReplaceNoCase(returnText, """", "#Chr(34)#", "ALL");
returnText = ReplaceNoCase(returnText, "<EM>", "<I>", "ALL");
returnText = ReplaceNoCase(returnText, "</EM>", "</I>", "ALL");
returnText = ReplaceNoCase(returnText, "<STRONG>", "<B>", "ALL");
returnText = ReplaceNoCase(returnText, "</STRONG>", "</B>", "ALL");
return returnText;
}
Search CFLib.org
Latest Additions
Raymond Camden added
QueryDeleteRows
November 04, 2017
Leigh added
nullPad
May 11, 2016
Raymond Camden added
stripHTML
May 10, 2016
Kevin Cotton added
date2ExcelDate
May 05, 2016
Raymond Camden added
CapFirst
April 25, 2016