![]() |
|
![]() ![]() ![]() |
|
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
ПРивет всем!!!
возникла такая задачка!!!! есть TextEdit в котором набираю текст, который в подальшос надо прорисовать в файл одной строкой (отформатированный так-как есть). С прорисовкой и форматированием разобрался. Проблема в след. Если я набираю текс и в нем присутствует абзац (тоетсь переход на новую строку) то в конечном результате нужно что-бы файл прорисовался одной строкой. вот код:
Так вот, пошел по пути загрузить с TextEditora Html в string, в нем удалить тег переноса на новую строку </p>, а далее его загруить в QTextDocument а его уже прорисовать в файл. Ну и не могу понять что делаю не так,ю так-как не работает, при дебаге вроде видно что удалился тег </p>, но в document все равно приходит текст с абзацем!!! Заранее спасибо!!! |
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
А почему удаляешь только закрывающий тэг? Почему не удаляешь <p>?
Ещё перевод м.б. <br> -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
afiskon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 294 Регистрация: 31.3.2011 Где: Россия, Москва Репутация: нет Всего: 4 |
неможетбыыыть!!!!
Идеальный вариант - просто удалить все html теги регулярным выражением <[^>]*?> |
||||
|
|||||
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Пробывал и их удалять, тоже не выходит! |
|||
|
||||
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
я так понимаю что надо рытьв сторону QRegExp!!! но если честно то не знаю как сними работать? никогда не доводилось! |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
а чем textEdit->toPlainText().remove(QLatin1Char('\n')) не устраивает?
|
|||
|
||||
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
ну я так понимаю что toPlainText() не поддерживает форматирования текста и все валит в стринг одной строчкой одним форматом. а У меня в строке може находидтся текст с разным шрифтом, размером.... |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 24 Всего: 196 |
GianSteps, т.е. тебе необходимо переформатировать многострочный html текст в однострочный?
|
|||
|
||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
>Пробывал и их удалять , тоже не выходит!
Нужно именно все три удалять. Не имеет смысла либо то либо то -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Да!!! |
|||
|
||||
GianSteps |
|
||||||||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Пробую выдалять все три вот так:
Например в одной строке набираю Hello на следуещей набираю world вот что выдает Дебаг: 1. до всех условий проверки qDebug()<<"STRING"<<string;
2. после qDebug()<<"NEWSTRING"<<newstring;
|
||||||||
|
|||||||||
borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
Ясно. Тогда тебе нужно воспользоваться советом afiskon - регулярки - только удалять не все тэги, а только
<p[^>]*?> и </p[^>]*?> -------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
GianSteps |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 18.4.2011 Репутация: нет Всего: нет |
Всем спасибо!!! вроде разобрался. Использовал данные "регулярки" правда не <p[^>]*?> и </p[^>]*?>, а <p[^>]*> и </p[^>]*> так и не понял в чем разница но последние работают!!!!! Это сообщение отредактировал(а) GianSteps - 11.6.2011, 14:54 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |