Полезное для программистов:

Фриланс
Новости
Статьи
   
Рубрики:


Удаление HTML элементов из текста

Поиск:
Как-то раз пришлось решить задачу удаления из файла элементов HTML таких, как, например, ненужные ссылки, и в то эе время преобразования возврата каретки в HTML параграфы, знаков табуляции в пробелы и т.д. В результате соответственно должен был получиться новый HTML документ.
Следующие две процедуры показывают, как это можно сделать:

Код

procedure TMainForm.LoadFileIntoList(TextFileName:String; AWebPage:TStringList; WithFilter:Boolean);  
var CurrentFile : TStringList;  
begin  
  CurrentFile := TStringList.Create;  
  CurrentFile.LoadFromFile(TextFileName);  
  if WithFilter then  
     FilterHTML(CurrentFile,AWebPage)  
  else  
     with AWebPage do AddStrings(CurrentFile);  
  CurrentFile.Free;  
end;  

procedure TMainForm.FilterHTML(FilterInput, AWebPage:TStringList);  
var  
  i,j : LongInt;  
  S   : String;  
begin  
  FilterMemo.Lines.Clear;  
  FilterMemo.Lines := FilterInput;  

  with AWebPage do  
  begin  
     FilterMemo.SelectAll;  
     j := FilterMemo.SelLength;  

     if j > 0 then  
     begin  
        i := 0;  
        repeat  
           if FilterMemo.Lines.GetText[i] = Char(VK_RETURN)      // ищем cr  
           then S := S+' '  
           else if FilterMemo.Lines.GetText[i] = '<'  
                then repeat  
                        inc(i);  
                     until FilterMemo.Lines.GetText[i] = '>'  
                else if FilterMemo.Lines.GetText[i] = Char(VK_TAB)   // ищем tab  
                     then S := S+'    '  
                     else S := S+ FilterMemo.Lines.GetText[i];     // обавляем текст  
           inc(i);  
        until i = j+1;  
        Add(S);     // добавляем строку в WebPage  
     end else Add('No data entered into field.');   // no data in text file  
  end;  
end;


Применение функции:

Всё, что нужно сделать - это вызвать:
Код

LoadFileIntoList("filename.txt",Webpage, True);


Где filename - это имя файла, который вы хотите обработать.
"WebPage" - это TStringList последний параметр в функции указывает, применять или нет HTML-фильтр.


PS: В этом примере объект TMemo (который вызывается из "FilterMemo") лежит на форме и поэтому не видим.

Код

WebPage := TStringList.Create;  
  try  
     Screen.Cursor := crHourGlass;  
     AddHeader(WebPage);  
     with WebPage do  
     begin  
        Add('Personal Details');          
        LoadFileIntoList("filename.txt",Webpage, True);  
     end;  
     AddFooter(WebPage);  
  finally  
     WebPage.SaveToFile(HTMLFileName);  
     WebPage.Free;  
     Screen.Cursor := crDefault;  
  end;
Автор: ИСХОДНИКИ.RU
Сайт: http://forum.sources.ru/index.php






Просмотров: 2037

 

 

Новые статьи:


Популярные:
  1. Как сделать цикличным проигрывание MIDI-файла?
  2. Создание AVI файла из рисунков
  3. Как устройство "отключить в данной конфигурации"?
  4. Kто в данный момент присоединен через Сеть?
  5. Как узнать количество доступной памяти?
  6. Как реализовать в RichEdit разноцветный текст?
  7. Как скрыть свое приложение от ProcessViewer
  8. Как программно нажать/скрыть/показ кнопку "Start"?
  9. Модуль работы с ресурсами в PE файлах
10. Функции вызова диалоговых окон выбора
11. Проверка граматики средствами Word'а из Delphi.
12. Модуль для упрощенного вызова сообщений
13. Функции для записи и чтение своих данных в, ЕХЕ- файле
14. Рекурсивный просмотр директорий
15. Network Traffic Monitor
16. Разные модули
17. Универсальная функция для обращения к любым экспортируем функциям DLL
18. Библиотека от VladS
19. Протектор для UPX'а
20. Еще об ICQ, сообщения по контакт листу?
21. Использование открытых интерфейсов
22. Теория и практика использования RTTI
23. Работа с TApplication
24. Примеры использования Drag and Drop для различных визуальных компонентов
25. Что такое порт? Правила для работы с портами
26. Симфония на клавиатуре
27. Загрузка DLL
28. Исправление автоинкремента
29. Взаимодействие с чужими окнами
30. Проверить дубляжи в столбце


 

 

 
 
На главную