Flex Certification » Flex Examples » Html And Rich Text Utility functions for Flex.
Html And Rich Text Utility functions for Flex.
{
//Common utility functions
public class HtmlAndRichTextUtil
{
public static function parseToHtml(rteString:String):String{
var t:RteHtmlParser = new RteHtmlParser();
t.ParseToHTML(rteString);
return t.StringFormat;
}
public static function parseToRichText(htmlString:String):String{
var t:RteHtmlParser = new RteHtmlParser();
t.ParseToRTE(htmlString);
return t.StringFormat;
//return convertFromXHtml(htmlString);
}
//Alternate approach to parseToHtml
public static function cleanHTML(str:String):String
{
var newStr:String;
var pattern:RegExp = /<TEXTFORMAT.*?>/g;
var str:String = str.replace(pattern, “”);
pattern = /ALIGN=”/g;
str = str.replace(pattern, ‘style=” text-align: ‘);
pattern = /”><FONTsFACE?=”/g;
str = str.replace(pattern, ‘; font-family: ‘);
pattern = /”sSIZE?=”/g;
str = str.replace(pattern, ‘; font-size: ‘);
pattern = /”sCOLOR=”/g;
str = str.replace(pattern, ‘px; color: ‘);
pattern = /<FONTsFACE?=”/g;
newStr = str.replace(pattern, ‘; font-familly: ‘);
var replaced:Boolean = true;
do{
replaced = false;
if(newStr != str) //This is if there more occurence of FACE
{
str = str.replace(pattern, ‘<span style=” font-size: ‘); //REPLACE SIZE AND ADD STYLE
pattern = /”sCOLOR=”/g;
str = str.replace(pattern, ‘; color: ‘); // REPLACE COLOR
replaced = true;
}
else //No FACE NO SIZE
{
pattern = /<span style=”/g;
str = str.replace(pattern, ‘; color: ‘); // REPLACE COLOR
replaced = true;
}
}while(replaced == false)
pattern = /”sLETTERSPACING=”d+” KERNING=”d+”/g;
str = str.replace(pattern, ‘;” ‘);
pattern = /<A HREF/g;
str = str.replace(pattern, “<a href”);
pattern = pattern = /</A>/g;
str = str.replace(pattern, “</a>”);
// pattern= /TARGET=”_blank”/g;
// str = str.replace(pattern, “rel=”external” “);
pattern = /<I>/g;
str = str.replace(pattern, “<em>”);
pattern = /</I>/g;
str = str.replace(pattern, “</em>”);
pattern = /<B>/g;
str = str.replace(pattern, “<strong>”);
pattern = /</B>/g;
str = str.replace(pattern, “</strong>”);
pattern = /LEFT/g;
str = str.replace(pattern, “left”);
pattern = /RIGHT/g;
str = str.replace(pattern, “right”);
pattern = /JUSTIFY/g;
str = str.replace(pattern, “justify”);
pattern = /<p/g;
str = str.replace(pattern, “<span “);
pattern = /<P/g;
str = str.replace(pattern, “<span “);
return str;
}
private static function convertFromXHtml(str:String):String
{
var pattern:RegExp;
pattern = /<p style=”text-align:left”>/g;
str = str.replace(pattern, “<P ALIGN=”LEFT”>”);
pattern = /<p style=”text-align:right”>/g;
str = str.replace(pattern, “<P ALIGN=”RIGHT”>”);
pattern = /<p style=”text-align:justify”>/g;
str = str.replace(pattern, “<P ALIGN=”JUSTIFY”>”);
pattern = /</p>/g;
str = str.replace(pattern, “</P>”);
pattern = /<span style=”(.*?)”>/g;
str = str.replace(pattern, “<FONT $1>”);
pattern = /color:(.*?);/g;
str = str.replace(pattern, “COLOR=”$1” “);
pattern = /font-size:(.*?)px;/g;
str = str.replace(pattern, “SIZE=”$1” “);
pattern = /font-family:(.*?);/g;
str = str.replace(pattern, “FACE=”$1” “);
pattern = /text-align:(.*?);/g;
str = str.replace(pattern, “ALIGN=”$1” “);
pattern = /</span.*?>/g;
str = str.replace(pattern, “</FONT>”);
pattern= /</li><li>/g;
str = str.replace(pattern, “</LI><LI>”);
pattern= /</li></ul>/g;
str = str.replace(pattern, “</LI>”);
pattern= /<ul><li>/g;
str = str.replace(pattern, “<LI>”);
pattern = /<em>/g;
str = str.replace(pattern, “<I>”);
pattern = /</em>/g;
str = str.replace(pattern, “</I>”);
pattern = /<strong>/g;
str = str.replace(pattern, “<B>”);
pattern = /</strong>/g;
str = str.replace(pattern, “</B>”);
pattern = /<u>/g;
str = str.replace(pattern, “<U>”);
pattern = /</u>/g;
str = str.replace(pattern, “</U>”);
// Remove extra white space
pattern = / /g;
str = str.replace(pattern, ” “);
return str;
}
}
}
Filed under: Flex Examples







