Просмотр полной версии : Удаление тегов DELPHI
SultanOFF
21.05.2010, 06:10
здравствуйте. Парсю страницу, но в тексте остаются html теги (<br> etc) Дайте пожалуйста если кто знает код, с помощью которых можно удалить все теги. Желательно использовать регулярки
а гуглить пробовал? regex html теги
Вот например
unsigned pos1, len1;
pos1 = Form4->Memo1->Text.Pos("<");
len1 = strlen("<");
Form4->Memo1->Text = Form4->Memo1->Text.SubString(pos1 + len1, MaxInt);
unsigned pos3 ;
pos3 = Form4->Memo1->Lines->Strings[0].Pos("'>");
Form4->Memo1->Text=(Form4->Memo1->Lines->Strings[0].SubString(1, pos3 - 1));
Удаляй все от < до >.
глупо. а вдруг в тексте будут такие символы?
SultanOFF
21.05.2010, 20:57
function ConvertHTML(AInput: WideString): WideString;
var
Len, WriteLen, ReadPos, OldPos, WritePos: integer;
begin
Len := Length(AInput);
if Len = 0 then
Exit;
SetLength(Result, Len);
ReadPos := 1;
WritePos := 1;
while ReadPos < Len do
begin
OldPos := ReadPos;
while (AInput[ReadPos] <> WideChar('<')) and (ReadPos < Len) do
Inc(ReadPos);
WriteLen := ReadPos - OldPos;
if WriteLen > 0 then
begin
Move(AInput[OldPos], Result[WritePos], WriteLen*2);
Inc(WritePos, WriteLen);
end;
while (AInput[ReadPos] <> WideChar('>')) and (ReadPos < Len) do
Inc(ReadPos);
Inc(ReadPos);
end;
SetLength(Result, WritePos - 1);
end; гугл рулит, однако
глупо. а вдруг в тексте будут такие символы?
Это глупо на первый взгляд... Но если вдуматься, и такой символ может встречаться у тексте, то целиком возможно, что:
1) На сайте есть XSS уязвимость.
2) На сайте сделали ошибку при форматировании HTML тегов.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot