Название: Выборка html кода из QTextEdit Отправлено: Ponter от Март 09, 2010, 20:09 Подскажите правильный путь к решению:
есть код: QTextEdit txt; txt->setHtml("text<a href=\"1\">Hello</a>text_2"); Ссылок может быть много. так вот как выбрать все эти ссылки в какой-нибудь QList? То есть разделить простой текст и ссылки. Если пытаться разобрать html код, то будет гемор ибо QTextEdit html код пишет по-своему усмотрению. Спасибо Название: Re: Выборка html кода из QTextEdit Отправлено: gigabyte от Март 09, 2010, 20:21 QRegExp с приблизительно такими параметрами:
QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>") Конечно я здесь переборщил с \s. Название: Re: Выборка html кода из QTextEdit Отправлено: Ponter от Март 09, 2010, 20:33 QRegExp с приблизительно такими параметрами: не понял где его использовать,каким образом?QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>") Конечно я здесь переборщил с \s. Название: Re: Выборка html кода из QTextEdit Отправлено: alexman от Март 09, 2010, 20:50 QXmlQuery, QDomDocument.
Название: Re: Выборка html кода из QTextEdit Отправлено: gigabyte от Март 09, 2010, 21:51 QRegExp с приблизительно такими параметрами: не понял где его использовать,каким образом?QRecExp("<\s*a\s+href=(.*?)\s+>(.*?)<\s*/a\s*>") Конечно я здесь переборщил с \s. Код: QTextEdit txt; Код: txt->setHtml("text<a href=\"1\">Hello</a>text_2"); Название: Re: Выборка html кода из QTextEdit Отправлено: gigabyte от Март 09, 2010, 21:52 QXmlQuery, QDomDocument. если это XHTML тогда да, а если просто HTML - тогда это компоненты могут давать сбоиНазвание: Re: Выборка html кода из QTextEdit Отправлено: alexman от Март 09, 2010, 22:03 Простой парсинг?
Название: Re: Выборка html кода из QTextEdit Отправлено: GreatSnake от Март 10, 2010, 11:21 Может тупым перебором используя
QString QAbstractTextDocumentLayout::anchorAt ( const QPointF & position ) или QString QTextEdit::anchorAt ( const QPoint & pos ) Название: Re: Выборка html кода из QTextEdit Отправлено: Ponter от Март 10, 2010, 23:04 Спасибо всем за ответы. И еще вопрос возник: при вставке ссылки <a href=\"1\">text</a> он как и надо выводится синим цветом,но если печатать просто в QTextEdit сразу после ссылки,то набранный текст будет тоже синим,вот как можно от этого избавиться?
Название: Re: Выборка html кода из QTextEdit Отправлено: GreatSnake от Март 11, 2010, 09:05 С этим проблемы у всех редакторов с гиперссылками.
Да и как редактор догадается, что вы не хотите продолжить текст ссылки? Самый простой способ copy-paste пробела. Название: Re: Выборка html кода из QTextEdit Отправлено: alexman от Март 11, 2010, 09:12 Да и как редактор догадается, что вы не хотите продолжить текст ссылки? Есть же тег </a> окончания гиперссылки!?Название: Re: Выборка html кода из QTextEdit Отправлено: GreatSnake от Март 11, 2010, 09:14 Есть же тег </a> окончания гиперссылки!? Интересно, как вы этот тег будете вводить при интерактивном наборе текста?Название: Re: Выборка html кода из QTextEdit Отправлено: Ponter от Март 11, 2010, 20:00 да уж в этом и проблема...пытался делать с помощью QTextCharFormat проблема такая же, всю голову сломал)))а выполнить надо
|