Hallo Community,
ich würde gerne nach dem herunterladen einer Homepage aus dem HTML-Text (Amazon Bücher) Bausteine dieser Art filtern:
<span id="btAsinTitle">Java für Kids <span style="text-transform: capitalize; font-size: 16px;">[Taschenbuch]</span></span>
Als Ergebnis will ich einen String Titel (btAsinTitle) haben. Ich habe es schon probiert, indem ich von 2 positionen+länge des Namens (in diesem Fall btAsinTitle) aus bis zum < die Zeichen zum String adde, allerdings hatte ich damit nicht viel Erfolg (leerer String ist das Ergebnis).
Hier der Quellcode:
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:
| function firstpos (Eingabe: String; suche: String): Integer; var i,j,n,u: Integer; searched: Boolean; eing2: String; ch1: Char; begin eing2:=Eingabe; for i:=1 to Length(eing2) do begin searched:=True; for j:=1 to Length(suche) do begin if Not (ch1 = suche[j]) then searched:=False; end; if searched then begin result:=i; exit; end; end; end;
function GetContent (html,name: String): String; var i,pos: Integer; r1: String; begin pos:=firstpos(html,name)+Length(name)+2; for i:=pos to Length(html) do begin if html[i] = '<' then exit else r1:=r1+html[i]; end; result:=r1; end; |
Aufgerufen durch:
Delphi-Quelltext
1:
| str:=GetContent(content, 'btAsinTitle') |
Findet jemand einen Fehler oder weiß, wie ich es sonst machen könnte??
Danke
BFelix