Текущий архив: 2003.11.13;
Скачать: CL | DM;
ВнизОбработка HTML Найти похожие ветки
← →
^^^Dragon^^^ (2003-10-25 18:20) [0]Помогите, плз. Есть код, анализирующий простую HTML-строку (в которой нет конструкции тег-в-теге)и извлекающий из нее текст.
var
i:integer;
begin
if tagopen=true then
begin
for i:=n to length(source.Lines.Strings[4]) do
begin
if source.Lines.Strings[4][i]=">" then
begin
tagopen:=false;
n:=i+1;
Test;
end;
end;
end
else
begin
for i:=n to length(source.Lines.Strings[4]) do
begin
if source.Lines.Strings[4][i]<>"<" then
itog:=itog+source.Lines.Strings[4]
else
begin
tagopen:=true;
n:=n+1;
Test;
end;
end;
end;
end;
Работать не хочет. Подозреваю, что здесь конфликт переменных. Помогите, пажалуйста. Спасибо
← →
Deedlit (2003-10-25 18:50) [1]Честно говоря, никак не могу въехать в твою процедуру. ;) Сама в свое время пользовалась вот такой штукой:
function EraseTag(Line: string): string;
begin
While pos("<", Line)<>0 do
Delete(Line, pos("<", Line), pos(">", Line)-pos("<", Line)+2);
Result:=Line;
end;
Может, пригодится? :) Работает при условии, что все теги закрыты. Если для тебя это критично... имхо, проще дописать сюда строчку-проверку, чем искать баги. ;)
← →
^^^Dragon^^^ (2003-10-25 19:45) [2]За функцию огромное спасибо, но есть одно НО:
вот такая конструкция: <tag<eshe_tag>znachenie</eshe_tag>>text</tag>
или
<tag svoystvo=znachenie>text</tag>
в этих случаях нужного результата не получится :(
Кстати, функция, почему-то, удаляет еще и первый символ (исправить так и не получилось).
Страницы: 1 вся ветка
Текущий архив: 2003.11.13;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.038 c