1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55:
| uses strutils;
procedure TagFolgerSuchen(tag:string;var s:string;var outstrL :TStringlist); var i,von,bis,ltag :integer; Kopie : string; begin outstrL.clear; Kopie := s; Kopie:= uppercase(Kopie); tag := uppercase(tag); for i := 1 to length(Kopie) do If Kopie[i] in[#0..#31,'<','>'] then Kopie[i] := #32; ltag := length(tag); von := 1; if length(Kopie)>lTag then repeat von := PosEx(tag,Kopie,von); if von = 0 then break; von := von+ltag; if von >ltag then if Kopie[von-ltag-1]=' ' then begin case Kopie[von] of #34 : begin inc(von); bis := PosEx('"',Kopie,von)-1; end; #39 : begin inc(von); bis := PosEx(#39,Kopie,von)-1; end else bis := PosEx(' ',Kopie,von)-1; end; if bis >0 then begin outstrL.Add(copy(s,von,bis-von+1)); von := bis+1; end; end; until false; end; |