Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript (http://www.flasher.ru/forum/forumdisplay.php?f=5)
-   -   Куда деваются пробелы в html? (http://www.flasher.ru/forum/showthread.php?t=64214)

v350 26.10.2004 22:16

Куда деваются пробелы в html?
 
Друзья, подскажите пожалуйста, куда деваются пробелы между тегами html? Т.е. пишу:

this.createTextField("txt", 1, 100, 100, 300, 100);
this.txt.html = true;
this.txt.htmlText = "Обычный <B>Болд</B> <I>Италик</I>";

Выводит:

Обычный БолдИталик

sergwizard 26.10.2004 23:34

Туда же, куда и дырка от бублика, после того, как его съели.
Пробелы надо ставить не между тегами, а между словами. Вот так:
this.txt.htmlText = "Обычный <B>Болд</B><I> Италик</I>";

styx 26.10.2004 23:53

Ответ неверен. Если это правда так (проверять лень) - это баг парсера.

v350 27.10.2004 00:08

sergwizard , спасибо конечно...! ;)

А может мысль подкинешь тогда, как быть ежели у меня есть текстовое поле ввода (input), с включенным html и форматированием с помощью класса TextFormat. Так вот это поле содержит в свойстве htmlText собственно html, размеченный Flash'ем именно по таким правилам, как я указал - пробелы остаются между тэгами (так сам Flash делает). Мне необходимо после небольшего преобразования строки полученной из htmlText поля ввода, отобразить результат в другом поле.

А пробелов то олучается теперь нет... :confused:


Если не понятно объяснил, приложу исходник.

v350 27.10.2004 00:14

styx , вот и мне тоже так кажется...

А что тут проверять - вставь и посмотри...

Код:

this.createTextField("txt", 1, 100, 100, 300, 100);
this.txt.html = true;
this.txt.htmlText = "Обычный <B>Болд</B>    <I>Италик</I>";


sergwizard 27.10.2004 00:36

2 styx странно: проверить ты ленишься, а вот постить чушь - не ленишься. :D
v350 Непонятно, выкладывай исходник.

Visor 27.10.2004 01:53

А почему бы не использовать &ampnbsp
По-моему должно без проблем работать. Или использовать &ampnbsp беспонтово? :)

v350 29.10.2004 00:54

остановился на использовании nbsp

sergwizard 29.10.2004 01:27

Или я чего-то не понимаю, или здесь гонят... Очень бы хотел увидеть, как во флэше можно использовать &nbsр.
Ты можешь выложить свой исходник, или это военная тайна?

ccwds 29.10.2004 13:51

Речь идет о когда русский текст с include font outlines или нет?
Если да, то надо включать не только Сyrillic символы в MX2004, но и знаки пунктуации. Ну или хотя бы шмякнуть по пробелы в окошке ввода особых знаков. Тогда пробелы появятся. :)

kpa.person 31.10.2004 20:38

Я скорее всего, сегодня сильно заработался и
поэтому плохо соображаю, но если нужно чтобы
получалась строка с пробелом между словами
"Болд" и "Италик", то почему не добавить пробел
прямо в содержимое тега, например в конце слова
"Болд"...

Штрек 31.10.2004 23:09

Цитата:

Оригинал написал(а) sergwizard
Или я чего-то не понимаю, или здесь гонят... Очень бы хотел увидеть, как во флэше можно использовать &nbsр.
Ты можешь выложить свой исходник, или это военная тайна?

Гонят, гонят...
Из ничего сделали прям некое обсуждение...
Флэш читает пробелы на раз, более того,
в отличии от html лишние пробелы не отбрасывает
/вот там то использование
&nbsp&nbsp оправдано/. Даже если этот тег вывернуть наизнанку и поставить ра.ом флэш его не прочитает
как тег пробела...

sergwizard 01.11.2004 02:15

И, что самое интересное, Михалыч, - кто-то, даже заработавшийся и, по его словам, "плохо соображающий", запросто говорит здравые вещи. А другие - высосут из пальца проблему, вбросят ее на форум, пукнут в сухую лужу – и пропадают. Ребята (обращаюсь к пукнувшим v350 и styx), я, как мог, отвечал на ваши вопросы. Ну, просто, из вежливости, ответьте на мой. v350, покажи исходник, который озадачил тебя. И покажи способ, которым ты решил проблему. Интересно же….

llllllllll 01.11.2004 03:45

Вообще-то мне тоже кажется что это фигня какаята :)


createTextField("_txt", 1, 100, 100, 300, 100);
_txt.html = true;

А теперь четыре комбинации:

_txt.condenseWhite = false;
_txt.htmlText = "<i>I</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>B</b>";

_txt.condenseWhite = true;
_txt.htmlText = "<i>I</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>B</b>";

_txt.condenseWhite = false;
_txt.htmlText = "<i>I</i>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>B</b>";

_txt.condenseWhite = true;
_txt.htmlText = "<i>I</i>.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>B</b>";


- это нормально? :)

А что касается &amp;nbsp; так флеш хавает их, во всяком случае MX2004, так же как и &amp;amp;, &amp;quot; и т д ...

_txt.htmlText = "<i>I</i>&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; <b>B</b>";

sergwizard 01.11.2004 05:20

Привет, Клетчатый, рад тебя слышать. :)
Прочти еще раз первый пост v350. Парень не понимает, почему у него получается такая хрень: Обычный БолдИталик, и как с этим бороться.
Я ему ответил. Ответил именно на этот вопрос, и именно так, как он был поставлен. Для получения пробелов, ставь пробелы не между тегами, а внутри их. Только по тому, что во флэше по умолчанию выставлено condenseWhite=false. Что может быть легче? Но последовали возражения. И второй пост v350 вверг меня в недоумение. Особенно это: "Мне необходимо после небольшого преобразования строки полученной из htmlText поля ввода, отобразить результат в другом поле." Мне стало интересно, что и как вводится в это поле? Я попросил исходник. Ничего не получил.
Влез ленивый styx, который не понимает разницу между html-парсером Flash и html-парсером браузера. В частности, что у браузера по умолчанию стоит condenseWhite=true, а у флэша – false. Он это просто обозвал багом. Я завелся. Еще больше я завелся, когда v350 отписался тем, что решил использовать &nbsр; И это " после небольшего преобразования ". Вот скажи, зачем использовать лишнее, если можно использовать достаточное? И что это за преобразования? Покажи…. В ответ – тишина.
И почему люди, ждущие ответы на свои вопросы, сами не хотят ответить на вопросы к ним?

v350 02.11.2004 15:35

Вложений: 1
Уважаемый sergwizard, зачем же так? Пукнул в лужу, не пукнул в лужу... Моя ошибка только в том, что не успел вовремя выложить исходник - пойми, не все могут 24 часа на форуме сидеть :-). Прежде чем задать вопрос, я все же немного поразмыслил над ним самостоятельно, и соответственно получив очевидный ответ с nbps, посчитал его вполне удобным и более того, вероятно, единственно возможным.

Исходник приложен - это фрагмент, вырванный из контекста приложения, подобного чату. Набей 2 слова разделенных только лишь(!) пробелом, затем выдели каждое(не выделяя пробел) и сделай их жирным и наклонным - нажми "Результат".
HTML-строка результата должна быть отражена в поле вывода сообщения - как видишь, пробела нет.
Втиснуть же пробел в тэг (если он не выделен), как ты понимаешь - я не могу.

sergwizard 02.11.2004 22:40

Вложений: 1
Уважаемый v350, извини за излишнюю резкость, - со мной это бывает, когда мне кажется, что задавший вопрос - не особенно заинтересован в ответе. Ну да ладно. :)
Попробуй это. Правильно ли я понял проблему?

Штрек 02.11.2004 23:26

"...Очень, оч-чень приятно видеть
таких молодых людей, как вы, которые, держась за
руки, идут к достижению вечных идеалов. Очень, оч-чень
приятно..."
И.И. Е.П.

v350 03.11.2004 10:12

sergwizard , лично я тебя понимаю, и крайне ценю твое желание уделить часть своего времени и помочь. Спасибо!

Проблему понял правильно, но в таком виде несколько криво получается - выделяется всегда на один символ больше, это не хорошо.
Дело в том, что html-код строки в моем случае отправляется серверному сценарию (а затем возвращается и выводится в окне сообщения), и соответственно добавить nbps в нужном месте не представляет труда.


Часовой пояс GMT +4, время: 07:26.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.