Главная страница
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
3-40791
Митяй
2003-10-22 15:15
2003.11.13
БД не сохраняет записи?????


14-41981
Иван Шихалев
2003-10-19 15:38
2003.11.13
Издательство


7-42214
SiJack
2003-09-04 14:06
2003.11.13
работа с Com в Win98-winXP


1-41278
Nikolay M.
2003-10-31 11:32
2003.11.13
Ручной отлов Exception-ов - ?


1-41383
Lamer_Of_Delphi
2003-10-30 12:22
2003.11.13
GetLocaleInfo