Articles Comments

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 = /”&gt;&lt;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 = /&lt;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, ‘&lt;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 = /&lt;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 = /&lt;A HREF/g;
str = str.replace(pattern, “&lt;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 = /&lt;p/g;
str = str.replace(pattern, “&lt;span “);
pattern = /&lt;P/g;
str = str.replace(pattern, “&lt;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;
}

}
}

Written by admin

Filed under: Flex Examples

Leave a Reply

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>