![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 5
|
Доброго времени суток уважаемые ProФессионалы.
есть примерно вот такой HTML : <p style="color:#123; font-size:16pt; text-align:center;">текст текст ...</p> <p style="color:#456; font-size:12pt; text-align:justify;">текст текст ...</p> ... заранее Спасибо. |
|
|||||
|
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Можно если парсить ваш html, вырезать значения аттрибута style каждого параграфа, и делать из них строковой css вроде
и вместо этого задавать каждому объекту у которого есть style - по индивидуальному классу (ссответственно первому параграфу - class_1, второму - class_2), а потом запихнуть этот html и задать этот css вашему текст полю. Но, конечно таким образом у вас получится избыточный css, и сам по себе метод через одно место
![]() Естественно лучше писать отдельно css и потом задавать его вашему текстовому полю, как тут |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 5
|
Спасибо большое, дошло )))
хороший форум |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
var markup:XML = new <TextFlow xmlns='http://ns.adobe.com/textLayout/2008' />; markup.appendChild( <p style="color:#123; font-size:16pt; text-align:center;">текст текст ...</p> <p style="color:#456; font-size:12pt; text-align:justify;">текст текст ...</p> ); textArea.textFlow = TextFlowUtil.importFromXML(markup); |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Парсинг
InlineCSS.as package { import flash.text.StyleSheet; /** * ... * @author wolsh */ public class InlineCSS { private static const START_BRACE:RegExp = /^['"]/; private static const END_BRACE:RegExp = /['"]$/; private static const CSS_INLINE:RegExp = /<[\s]*([^>\s]*)[\s]*(style[\s]*=[\s]*((["'])[^"']*["']))[*]*>/gi; private var _html:String; private var _css:StyleSheet; public function InlineCSS(html:String = null) { if(html != null) parse(html); } public function parse(html:String):Boolean { if (html == "") return false; if (!CSS_INLINE.test(html)) { return false; } CSS_INLINE.lastIndex = 0; _html = html; _css = new StyleSheet(); var cssText:String = ""; var count:uint = 0; var result:Object = CSS_INLINE.exec(html); while (result != null) { //// Parse inline style to StyleSheet CSS class var cssClassName:String = "class_" + count; var selectorName:String = "." + cssClassName; cssText += "\n" + selectorName + " " + result[3].replace(START_BRACE, "{").replace(END_BRACE, "}"); //// Replace HTML inline declaration with class declaration var quote:String = result[4]; var classDec:String = "class=" + quote + cssClassName + quote; var pattern:RegExp = new RegExp(result[2], "ig"); _html = _html.replace(pattern, classDec); count ++; result = CSS_INLINE.exec(html); } _css.parseCSS(cssText); return true; } /* RESULT DATA GETTERS */ public function get html():String { return _html; } public function get css():StyleSheet { return _css; } } } var cssSeparator:InlineCSS = new InlineCSS(); var html:String = '<p style="color:#FF0000; font-family:Arial, Trebuchet MS; font-size:24pt; text-align:center;">текст текст ...</p><p style = "color:#00FF00; font-size:12pt; text-align:justify; text-decoration:underline">текст текст ...</p>'; cssSeparator.parse(html); _txt.styleSheet = cssSeparator.css; _txt.htmlText = cssSeparator.html;
__________________
Reality.getBounds(this); |
|
|||||
|
[+1 22.04.13]
[+1 06.03.13] Регистрация: Apr 2012
Сообщений: 239
|
удивительно что на форуме по флешу, нету подсветки синтаксиса для as3... ну т.е. она как-бы есть но красный шрифт на сером фоне но это просто п****ц (редактор без табуляции и блокировка ссылок на дропбокс можно охарактеризовать этим же термином)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|