Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Удаление из файла элементов HTML

Delphi , Синтаксис , Текст и Строки

Удаление из файла элементов 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
        // ищем cr
        if FilterMemo.Lines.GetText[i] = Char(VK_RETURN) then
          S := S + #10#13;
        else
        if FilterMemo.Lines.GetText[i] = '<' then
          repeat
            inc(i);
          until
            FilterMemo.Lines.GetText[i] = '>'
        else
          // ищем tab
          if FilterMemo.Lines.GetText[i] = Char(VK_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;

удаление ненужных ссылок, преобразование возврата каретки в HTML-параграфы, знаков табуляции в пробелы и т.д. с помощью процедур TMainForm.LoadFileIntoList и TMainForm.FilterHTML.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Текст и Строки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 13:24:07/0.0051889419555664/1