Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c