Russian Qt Forum
Ноябрь 24, 2024, 11:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Удаление HTML-тэгов  (Прочитано 4818 раз)
phpCoder
Гость
« : Март 15, 2015, 15:44 »

Добрый день.
Есть в Qt инструментарий для удаления HTML-тэгов из текста? Наподобие strip_tags из PHP?
Записан
Hrundel
Гость
« Ответ #1 : Март 16, 2015, 00:33 »

QString это же по сути vector. У него и итератор свой есть. Ставишь итератор в начало и проверяешь на ">" и "<". Все что в тэги не входит - пишешь в другой стринг.
« Последнее редактирование: Март 16, 2015, 00:42 от Hrundel » Записан
gil9red
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1805



Просмотр профиля WWW
« Ответ #2 : Март 16, 2015, 00:37 »

QString это же по сути vector. У него и итератор свой есть. Ставишь итератор в начало и проверяешь на ">" и "<". Все что в тэги не входит не входит - пишешь в другой стринг.

Тогда можно и регуляркой удалить все теги, главное чтобы регулярка не жадная была Улыбающийся
Записан

Hrundel
Гость
« Ответ #3 : Март 16, 2015, 00:40 »

Тогда можно и регуляркой удалить все теги, главное чтобы регулярка не жадная была Улыбающийся

Согласен, но исхожу из того, что ТС не владеет материей. Да и я сам в регулярке только базовые знания имею, не могу давать советы.
« Последнее редактирование: Март 16, 2015, 00:41 от Hrundel » Записан
phpCoder
Гость
« Ответ #4 : Март 16, 2015, 08:37 »

Нет, регуляры знаю. Просто свой велосипед изобретать не хотел.
Записан
Bepec
Гость
« Ответ #5 : Март 16, 2015, 08:46 »

Готовых средств нет.
Можете написать Улыбающийся
Записан
kai666_73
Крякер
****
Offline Offline

Сообщений: 319


Просмотр профиля
« Ответ #6 : Март 16, 2015, 12:19 »

Код:
QTextEdit edit;
QString htmlText = ...;
QString plainText;
edit.setHtml(htmlText);
plainText = edit.toPlainText();
Записан
sociopath
Гость
« Ответ #7 : Март 17, 2015, 13:43 »

QTextEdit - это оверхэд. Он все равно внутри использует QTextDocument, его и надо использовать.

Код:
QTextDocument doc;
QString plainText;
doc.setHtml(htmlText);
plainText = doc.toPlainText();

Если не поможет, то тогда уже писать собственный велосипед.
Записан
phpCoder
Гость
« Ответ #8 : Март 21, 2015, 07:53 »

Проще регулярами.
Код
C++ (Qt)
<.+?>
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.095 секунд. Запросов: 23.