Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/155: Рейтинг темы: голосов - 155, средняя оценка - 4.59
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
1

перекодировка содержимого поля в ХТМЛ-формат

24.02.2008, 13:13. Показов 28305. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
чтобы текст введёный ползователем перекодировался в формат ХТМЛ(тоесть ентеры в поле стали <br>, текст выделеный цветом заключился в тег <font>, выравниванеи опредилилось div-ами), нужно текст написать в RichText поле и єто поле показать на форме.

А вот если хочется генерить содержимое ХТМЛ-страницы скриптом (в преременную толкать значения полей и выводить их через print, или Сomputed поле), то удобства RichText теряются ведь значение поля получается через notesItem.Text, и оно в формате просто текст (слёт другой информации типа картинок и аттачей игнорируем).

Вот мне и интересно возможно ли какимто методом получить текст в формате ХТМЛ, есть ли стандартные функции перекодировки, или хитрые методы?

очень не хочется верить что для решения такой задачи необходимо делать собственный парсер.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.02.2008, 13:13
Ответы с готовыми решениями:

Отправка содержимого поля в файл при нажатии кнопки без потери этого содержимого с поля
Привет всем!) Я отправляю содержимое textarea в файл при нажатии кнопки, после нажатия на кнопку...

Перекодировка содержимого текстового файла в Win-1251 и запись результата в новый файл с именем компьютера
Добрый день, подскажите пожалуйста... стоит задача написать bat, который будет собирать информацию...

Моментальное изменение содержимого поля, после изменения другого поля
Всем привет. Есть страничка на JSF(Java), где находится несколько полей, в которых указывается...

При изменении содержимого 1-го поля изменяется содержимое 2-го текстового поля.
На Web-форме имеются два текстовых поля. При изменении содержимого 1-го поля изменяется содержимое...

18
totusDmypr
24.02.2008, 13:26 2
A NotesRichTextStyle.PassThruHTML чем вам не угодил ? ))
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 13:33 3
NotesRichTextStyle.PassThruHTML - это флаг который указывает что содержимое РТ поля чистый ХТМЛ, и его не ненадо перекодировать при отбражении в веб. и как он может помоч в данной задче?
0
totusDmypr
24.02.2008, 13:43 4
Ааа, все понятно..Ну это уж вряд ли, скорее всего без парсера не обойтись, только зачем собственный ? У Lotus Domino есть замечательный sax-парсер, немножко корректив для обработчика ошибок - и будет без проблем парсить и html
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:00 5
Если в нотес-клиенте пользователь вводит все в РТ поле и Вам в ВЕБе это нужно показать в таком же виде (разны шрифты и т.д), то достаточно на форму для ВЕБа влепить CFD поле со значением вычисляемым из этого РТ поля. Все данные будут отображаться в нормальном виде.. мало того, есоли в РТ поле у вас картинка - то картинка тоже будет отображаться в этом РТ поле...
0
totusDmypr
24.02.2008, 14:05 6
Цитата Сообщение от Sandr
Если в нотес-клиенте пользователь вводит все в РТ поле и Вам в ВЕБе это нужно показать в таком же виде (разны шрифты и т.д), то достаточно на форму для ВЕБа влепить CFD поле со значением вычисляемым из этого РТ поля. Все данные будут отображаться в нормальном виде.. мало того, есоли в РТ поле у вас картинка - то картинка тоже будет отображаться в этом РТ поле...
Я извиняюсь..А что такое CFD-поле ?
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:18 7
LotusDnepr

Computed for display

:o
0
totusDmypr
24.02.2008, 14:25 8
Цитата Сообщение от Sandr
LotusDnepr

Computed for display

:o
Ааааа :P Однако интересный факт. Я и понятия не имел об этой особенности вычисляемых полей
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 14:29 9
не, в том то и дело шо мне нада вывести значения через скрипт...



Цитата Сообщение от LotusDnepr
У Lotus Domino есть замечательный sax-парсер, немножко корректив для обработчика ошибок - и будет без проблем парсить и html
можно по подробнее про этот парсер, чтото я немугу понять куда копать
0
24.02.2008, 14:40 10
Цитата Сообщение от lionk
не, в том то и дело шо мне нада вывести значения через скрипт...



можно по подробнее про этот парсер, чтото я немугу понять куда копать
Копать нужно в сторону замечательного лотусного класса NotesSaxParser, в хэлпе все про него написано..Фишка в том, что он, как и всякий нормальный парсер, справляется только с well-formed XML, и чтобы заставить его парсить html, нужно немножко извратиться за счет обработчика ошибок, ну а степень извращения зависит от конкретных условий и желаемого результата
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 14:49 11
Цитата Сообщение от lionk
не, в том то и дело шо мне нада вывести значения через скрипт...
Простите, но вывести куда? И как это через скрипт?


Кстати, обратившись к этому CFD полю с помощью javaScript (например к outerHTML поля) вы получите полный HTML сорс этого поля...

ЗЫ: можно вообще РТ поле показывать... есть у него такое свойство display using HTML при Web Access...
0
24.02.2008, 14:53 12
Насколько я понял, уважаемый lionk собирается скриптом эмулировать ввод пользователем текста, используя в скрипте традиционные уишные операции типа Copy-Past, а потом все это конвертить в html для просмотра в веб...Честно говоря, и сам не понимаю целесообразности этих действий
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 15:05 13
ну при открытии страницы в вебе запускается агент, который переберает содержимое поля, в этом поле есть метки(теги) который этот агент должен подменить на значение определённых полей из других документов.
там есть РТ поля и хочется чтобы выводился отформатированый красивый текст.
тоесть механизма ЦФД поля нехватает.

ну допустим я через NotesSaxParser зделаю правельный XML. а как потом перегнать эго в HTML?
гланды через анус удалять я нехоу :o
0
24.02.2008, 15:19 14
Парсер не предназначен для того, чтобы выводить XML, это прерогатива другого класса - NotesDXLExporter, задача парсера - работа с уже готовым XML. В общем смысл уловил..Значит, страница закачивается из веба через ретривер и есть notesdocument с данными Domino, нужно только перенести его содержимое в RTF, подменив некоторые теги, так ? Если так, могу дать наводку
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 15:55 15
Программер
не совсем, или совсем не так :o
(упрощяю)
есть РТ поле которое нужно вывести в вебе, его можно вывести только скриптом присвоив зачение этого поля другому полю, которое находится на веб форме что открывается. нужно чтобы значение РТ поля выводилось в формате ХТМЛ(тоесть ентеры заменены тегами <br>).
понятно что при простом присвоении (ctxdoc.outfield=rtitem.text) этого не произойёт. значит нужно зделать перекодировку(замену). чтото типа (ctxdoc.outfield=CONV_FUNC(rtitem.text) ), вопрос какой код забить в эту функцию?

как я понял есть два пути либо самому разбирать содержимое РТ поля и както пересобрать строку, либо использовать NotesSaxParser, получив из РТ поля XML, но для меня остаётся загадкой как этот XML вывести на страницу в удобном для пользователей виде.
0
24.02.2008, 16:28 16
Ну дак это ж проще пареной репы, здесь и парсить-то и нечего ). Вот:

Sub Click(Source As Button)
Dim NUIWS As New NotesUIWorkspace
Set ND=NUIWS.CurrentDocument.Document
Set NRTI=ND.GetFirstItem("BODY") ваше поле с тестом юзера
TextStr$=NRTI.Values
StrArray=Split(TextStr$,Chr(13))
For i%=1 To Ubound(StrArray)
StrArray(i%)="<br>"+Strright(StrArray(i%),Left(StrArray(i%),1))
Next
HTMLStr$=Implode(StrArray)
End Sub

Концепция такова - берете текст из RTF, расчленяете его на массив стрингов, разделенных знаком переноса строки, и подменяете знак перноса (Chr(13)) на символ "<br>", потом собираете строку заново и имеете готовый html-текст, который можно поместить в другой RTF
0 / 0 / 0
Регистрация: 01.04.2007
Сообщений: 304
24.02.2008, 16:34 17
а управление цветом текста, выравниванием, кегелем и гарнитурой шрифта(arial, tahoma)?
с <br> єто самый простой вариант, неужели нет какойто незадокументированой функции :o, эх меты... мечты.
0
24.02.2008, 16:45 18
Есть такая идея - копировать текст поля в вордовский OLE, а уж там в посимвольном цикле определять форматирование каждого элемента, пользуясь вордовским Visual Basic и превращать в HTML, занятие в общем довольно хлопотное, но иного пути пока не предвижу )
0 / 0 / 0
Регистрация: 19.07.2007
Сообщений: 1,098
24.02.2008, 18:17 19
эх.. попросить надо бы админов, шоб смайлик "застрелите меня" добавили...
0
24.02.2008, 18:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.02.2008, 18:17
Помогаю со студенческими работами здесь

Вывод содержимого объекта в JSON формат
В общем есть у меня объект, в котором есть поле, которое представляет из себя массив из 25...

Сохранение содержимого image в векторный формат
Если кто нибудь знает легкий вариант подскажите пожалуйста новичку,сложные варианты где все...

Формат поля
Форумчане подскажите, как указать в свойства отчета &quot;Формат поля&quot; чтобы если ячейка принимает...

Формат поля
Подскажите, пожалуйста, можно ли и если да, то как задать формат поля. Мне нужно поля для ввода...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru