AS3 htmlText показывает теги - PullRequest
0 голосов
/ 20 мая 2011

У меня есть текстовое поле, созданное с помощью AS3 следующим образом: (theDesc - это параметр, передаваемый через функцию)

var productDescTxt:TextField = new TextField();
productDescTxt.htmlText = theDesc;  
productDescTxt.multiline = true;
productDescTxt.wordWrap = true;
productDescTxt.embedFonts = true;
productDescTxt.setTextFormat(productInfoTF);
productDescTxt.x = 10;
productDescTxt.y = productNameTxt.y+productNameTxt.textHeight+15;
productDescTxt.width = 325;
holder.productsTab.addChild(productDescTxt);

theDesc - это HTML-контент с кодировкой символов:

Например:

<p><strong>6.1 oz cotton at an affordable price</strong></p>

проблема в том, что textField отображает каждый символ. <p><strong> и т. Д.

Есть ли необходимость в дополнительном кодировании на моем конце?

Ответы [ 3 ]

0 голосов
/ 20 мая 2011

Похоже, вы получили это с какого-то сервера, не так ли?Вам нужно изменить &lt; с <, &gt; с > вручную.Например, в PHP (если серверная часть вашего приложения написана на PHP) есть функция html_decode(), которая заменит все для вас.Я не знаю подобной функции в AS3.

Но я могу посоветовать вам небольшую хитрость:

var tempField:TextField = new TextField();
tempField.htmlText = theDesc;  
var productDescTxt:TextField = new TextField();
//...
productDescTx.htmlText = tempField.text;  
holder.productsTab.addChild(productDescTxt);

, которая сделает для вас html_decode()!надеюсь, что это поможет!

0 голосов
/ 03 августа 2012

Вам не нужны специальные символы HTML для значения htmlText, экранируйте их, посмотрите этот ответ Unescape (декодируйте) символы HTML из строки во Flex

0 голосов
/ 20 мая 2011

посмотреть исходный код этой страницы и найти эту строку:

<носим что-то>

это поле ответа выполняет почти то же самое, что и функция flash textField htmlText.
Подробнее о возможностях htmlText во флэш-памяти: TextField - доступные теги html

...