Při načítání externích dat se občas vyskytne potřeba "očistit" předané texty od HTML tagů a získat tak pouze samotný text, bez jakéhokoliv HTML formátování. V případě XML dat pak navíc můžeme řešit problém s nadbytečnými konci řádků, které oddělují odstavce. Jako užitečná se pak jeví následující třída, která zajistí veškeré odstranění přebytečných tagů a konců řádků:
package { public class HtmlStrip { private static var removeHTML:RegExp = new RegExp("<[^>]*>", "gi"); //odstranění HTML tagů public static function stripHTMLTags(src:String):String{ return stripMe(src); } //odstranění konců řádků public static function removeNewLines(src:String):String{ return removeLines(src); } //odstranění tagů a konců řádků public static function clearMyString(str:String):String{ var pomStr:String = stripMe(str); return removeLines(pomStr); } //odstranění HTML tagů private static function stripMe(src:String):String{ return src.replace(removeHTML, ""); } //odstranění nových řádků private static function removeLines(src:String):String{ return replaceString(src,"\n",""); } //nahrazení textu private static function replaceString(src:String, text_what:String, text_for:String):String { return src.split(text_what).join(text_for); } } }
Použití je pak velice jednoduché, pro odstranění HTML tagů a konců řádků se použije zápis:
var novyText:String = HtmlStrip.clearMyString(textHTML);
To je paráda, zrovna jsem si chtěl takovou třídu napsat a tohle by bylo přesně ono … mohu to použít? Myslím, za předpokladu, že do poznámky dám odkaz na zdroj, tzn. Vaše jméno a url toho článku.
nemám s tím problém, jinak bych to sem nedával :)
Paráda … díky … no, slušnost je slušnost :o)