Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.024 c
1-41539
Bocman
2003-10-27 23:30
2003.11.13
TChart и числа до1


1-41240
Doctor Deejay
2003-11-01 10:38
2003.11.13
ComboBox Больше! Еще больше!


14-42120
otido
2003-10-21 10:56
2003.11.13
странные глюки с локалкой, помогите плиз...


1-41673
Nikola
2003-10-24 13:55
2003.11.13
Сохранение окна


3-41009
Val
2003-10-14 14:17
2003.11.13
DBAware Controls