Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: CL | DM;

Вниз

HTML фильтр   Найти похожие ветки 

 
falk   (2003-12-31 18:05) [0]

Создаётся переменная TStringList,в неё загружается HTML файл
Как отфильтровать HTML код т.е. что-бы остался только текст?
Применение TMemo исключено.


 
Stilgar ©   (2003-12-31 19:17) [1]

Предлагаю удалять все между < и >. Правда так можно удалить и сам текст. Лучше учесть особенности HTML (на изучение которого много времени не понадобится).


 
Ihor Osov'yak ©   (2003-12-31 19:18) [2]

Вместо TStringList используй TWebBrowser. Если нужно "невизуальное" решение, то создавай IHtmlDocument (см UILessParser на http://www.euromind.com/iedelphi)
Затем от тега body получаешь IHtmlElement, а там есть свойство innerText.
Это то, что тебе нужно.

С Наступающим Новым Годом! Удачи.


 
хз ©   (2003-12-31 19:32) [3]

Может это поможет?


Function StripHTMLorNonHTML(Const S:String;WantHTML:Boolean):String;
Var
X,TagCnt:Integer;
ResChar,SrcChar:PChar;
Begin
TagCnt:=0;
SetLength(Result,Length(S));
If Length(S)=0 Then
Exit;
ResChar:=@Result[1];
SrcChar:=@S[1];
For X:=1 To Length(S) Do
Begin
Case SrcChar^ Of
"<":
Begin
Inc(TagCnt);
If WantHTML And (TagCnt=1) Then
Begin
ResChar^:="<";
Inc(ResChar);
End;
End;
">":
Begin
Dec(TagCnt);
If WantHTML And (TagCnt=0) Then
Begin
ResChar^:=">";
Inc(ResChar);
End;
End;
Else
Case WantHTML Of
False:
If TagCnt<=0 Then
Begin
ResChar^:=SrcChar^;
Inc(ResChar);
TagCnt:=0;
End;
True:
If TagCnt>=1 Then
Begin
ResChar^:=SrcChar^;
Inc(ResChar);
End
Else
If TagCnt<0 Then
TagCnt:=0;
End;
End;
Inc(SrcChar);
End;
SetLength(Result,ResChar-PChar(@Result[1]));
Result:=Result;
End;

Function ExtractHTML(S:String):String;
Begin
Result:=StripHTMLorNonHTML(S,True);
End;

Function ExtractNonHTML(S:String):String;
Begin
Result:=StripHTMLorNonHTML(S,False);
End;


 
TButton ©   (2003-12-31 20:11) [4]


>Предлагаю удалять все между < и >. Правда так можно удалить и
>сам текст. Лучше учесть особенности HTML (на изучение которого
>много времени не понадобится).

нельзя удалить сам текст, для вставки в HTML документ "<" и ">" используются специальные фигулины типа &9001; и &9002; они же


 
falk   (2004-01-03 14:26) [5]

Большое всем спасибо.
Проблема решена способом
предложенным X3.
С наступившим всех.



Страницы: 1 вся ветка

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-49757
Officeman
2003-12-26 12:40
2004.01.16
что нового в DELPHi 7 ??


1-49556
Prospector
2004-01-06 08:58
2004.01.16
StatusLine


1-49536
SergP
2004-01-02 15:37
2004.01.16
Как отобразить страничку из переменной на рабочем столе?


1-49505
Grotesk
2004-01-03 16:57
2004.01.16
Имя переменной - в строку


14-49694
НовичокНаФоруме
2003-12-26 10:35
2004.01.16
Win XP with SP1