Удаление тегов HTML

Тема в разделе "WASM.WIN32", создана пользователем Guest, 15 мар 2006.

  1. Guest

    Guest Guest

    Публикаций:
    0
    Есть ли в винде ф-я для удаления тегов, чтобы остался только текст, которым мы видим в браузере непосредственно.

    Мне сказали в COM объектах есть такой метод, но конечно хотелось бы API, т.к. нужна скорость. Или написать свою процедуру?
     
  2. execoma

    execoma New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    57
    почему бы не написать самому, вроде ничего сложного
     
  3. Guest

    Guest Guest

    Публикаций:
    0
    да, но подводных камней много. Писать надо дня 3. А я не могу уделить столько времени, т.к. его обычно не хватает.



    например надо учитывать такие строки, т.е. ошибки тех кто писал страницу

    <b class=sdsds><ssdsdsd<//b>
     
  4. Ms Rem

    Ms Rem New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2005
    Сообщения:
    1.057
    Адрес:
    С планеты "Земля"
    Алгоритм очень прост. Ищем "<" потои ищем после нее ]" и все что между ними удаляем, если до закрывающей кавычки стоит еще одна открывающая, то пропускаем ее и ищем дальше. Твой пример будет корректно обработан, так что ничего тут 3 дня писать не нужно.
     
  5. Guest

    Guest Guest

    Публикаций:
    0
    Ну в общем то да, щас особожусь, попробую реализовать.
     
  6. Guest

    Guest Guest

    Публикаций:
    0
    Ms Rem

    Вот пример где твой алгоритм не сработает. Будет потерян важный текст, к тому же мне надо заменять nbsp; на пробелы и т.д., потому буду копать либо в COM либо возьму сорцы php, иначе себе не представляю как реализовать в краткие сроки


    Код (Text):
    1. <body><111 Важный текст>  sdfsd<qqq></body>
     
  7. r90

    r90 New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2005
    Сообщения:
    898
    есть текстовые броузеры которые умеют это делать (links, links2, lynx). типа `links -dump file.html`. Это конечно не API, но возможно адекватнее сорцов php.
     
  8. SnugForce

    SnugForce New Member

    Публикаций:
    0
    Регистрация:
    2 май 2005
    Сообщения:
    373
    Адрес:
    Из домУ
    А кто мешает выдерать по именам тегов?? и пример [<body><111 Важный текст> sdfsd<qqq></body>] корректно обработается т.к. нет в html тега <qqq>. Соот-но алгоритм дополнится так:

    1) Ищем "<" потом ищем ]" Далее в этой подстрочке пытаемся найти имя тега, отбрасывая начальные пробелы...

    2) Если тег найден, то вырезаем, если нет то оставляем...
     
  9. execoma

    execoma New Member

    Публикаций:
    0
    Регистрация:
    27 май 2005
    Сообщения:
    57
    SnugForce

    - Нет, я так понял Corleone нужна корректная реализация. Все равно всплывает много проблем, а что если например страница имеет скрипты, которые выводят текст. Лучше было бы использовать компоненты IE. Как именно сделать я не знаю. Но идея в аналогии действий [ctrl+a -> copy] уже отображенной корреектно страницы в IE. Но даже если это удастся все равно могут быть проблемы, например кривые настройки ослика или что ещё плохого с ним на компе пользователя. Тут идеального решения задачи не найти. Кстате вопрос имеет актуальность давно, на многих форумах можно найти подобные топики.
     
  10. Guest

    Guest Guest

    Публикаций:
    0
    execoma

    Совершенно верно. Нужно 100% корректное решение, без вылетов, и максимально точно парсяшее код. Выход пока вижу только в подключении к ком объекту.
     
  11. Guest

    Guest Guest

    Публикаций:
    0
  12. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
  13. slow

    slow New Member

    Публикаций:
    0
    Регистрация:
    27 дек 2004
    Сообщения:
    615
    хотя со скриптами это наверно не пройдет, не пробовал
     
  14. Guest

    Guest Guest

    Публикаций:
    0
    Да опять же! эта процедура загнется на некорректных тегах,

    про document.write('hello'); вообще молчу.

    Короче выход нашел в осле. Тему думаю стоит закрыть
     
  15. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Corleone

    У тебя просто изначально неправильный вопрос. Тебе нужно удалить теги и важны скорость? Тебе подсказывают парсеры. Нужно качество и фичи, типа обработки скриптов? Тогда это уже не "удаление тегов", а конвертирование html в текст. Тогда нужно смотреть в сторону использование рендеров html (IE, Mozilla).