LINUX.ORG.RU
Ответ на: комментарий от beastie

я не хочу вызывать внешние программы.

kasha
() автор топика
Ответ на: комментарий от fura13

нет. мне не нужно СКАЧАТЬ html файл, мне нужно из имеющегося html файла, выдрать весь текст, который видит пользователь

kasha
() автор топика
Ответ на: комментарий от staseg

особо не важно(можно выдирать, а можно и нет). всякие сложные случаи с ЖС тоже не нужны. просто получить текст

kasha
() автор топика

Если надо просто удалить теги, то либа не нужна, реализация примитивна. Если же нужно «форматировать», JS etc., то надо и полноценный движок. Вроде QtWebKit умеет вернуть plain text.

anonymous
()
Ответ на: комментарий от kasha

Бери libxml, вытаскивай содержимое <body> и убирай оттуда все теги.

Такое кстати можно написать и без сторонних библиотек в десяток строк от силы.

staseg ★★★★★
()
Последнее исправление: staseg (всего исправлений: 1)
Ответ на: комментарий от kasha

особо не важно(можно выдирать, а можно и нет). всякие сложные случаи с ЖС тоже не нужны. просто получить текст

Ну так тебе подойдет простая регулярка для удаления тегов

google:\\regex strip html tags

anonymous
()
Ответ на: комментарий от anonymous

Ну и еще предварительно <br> можно заменить на \n.

anonymous
()

что насчет CDATA, object, script, пробелы и тд
думаешь легко реализовать?

kasha
() автор топика

Сам не использовал, но попадалось на глаза упоминание htmlcxx, можно с её помощью попробовать что-то сделать.

xaizek ★★★★★
()
Последнее исправление: xaizek (всего исправлений: 1)
Ответ на: комментарий от kasha

libxml2 умеет HTML, и ещё что-то умеет. Была похожая тема давно.

asaw ★★★★★
()

Всем спасибо. Попробую htmlcxx

kasha
() автор топика
Ответ на: комментарий от Solace

Воощето есть еще более распальцованый вариант.
Можно засунуть страничку в вебкит, а потом выдрать все за 1 вызов с помощью XPath.
Но это уже тяжелая артиллерия. Если нет необходимости показывать пользователю результат, то слишком это все громоздко.

AF ★★★
()
Ответ на: комментарий от cherry-pick

выдрать текст спромеж тегов != распарсить

dib2 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.