![]() |
Nach unbestimmten String suchen
Hallo DP,
Ich schon wieder..:-D Folgendes: Ich habe eine HTML Seite, die ich in ein Memo einlese (Ist ja nicht schwer :)). Jetzt möchte ich die Seite "Bearbeiten" das heißt ich möchte aus einen <img> die Quelle auslesen und ändern: Vorher:
Code:
Nachher:
<img scr="X:\XXXXXX\XXXXXXXX.jpg">
Code:
Problem: Ich kenne ja nicht vorher den Pfad zu der Datei :(.
<img scr="http://bla.de/bla.jpg">
Ich habe überhaupt keinen Plan. |
AW: Nach unbestimmten String suchen
Du kannst mit Pos/PosEx nach <img scr=" suchen und ab da nach dem nächsten ". Alles dazwischen dürfte der Pfad sein.
|
AW: Nach unbestimmten String suchen
@DeddyH:
Super Idee ! Kannst du mir nur noch sagen wie ich das anwende. |
AW: Nach unbestimmten String suchen
Aus dem Hut:
Delphi-Quellcode:
Es kann sein, dass die Positionen hier nicht exakt stimmen, aber das wirst Du schon herausbekommen und kannst es ggf. korrigieren.
s := Memo1.Lines.Text;
Anfang := PosEx('<img scr="', s, 0); while Anfang > 0 do begin Anfang := Anfang + Length('<img scr="'); Ende := PosEx('"', s, Anfang); Delete(s, Anfang, Ende - Anfang); Insert(NeuerPfad, s, Anfang); Anfang := PosEx('<img scr="', s, Ende); end; Memo1.Lines.Text := s; |
AW: Nach unbestimmten String suchen
String 1 <img scr="X:\XXXXXX\XXXXXXXX.jpg">
String 2 <img scr="http://bla.de/bla.jpg">
Code:
1. Speichere "http://bla.de/bla.jpg" in StrUrl ab
2. Ermittle per Pos() " in String 1 und speichere es ab in StrPos 3. Inkrementiere diesen Wert per inc() 4. Nun lösche ab der Stelle StrUrl alles weg per Delete() 5. StrResult = String 1 + StrUrl + '">' |
AW: Nach unbestimmten String suchen
Danke an euch beide ihr habt mir sehr geholfen.
Den Alten Pfad bekomme ich über Copy oder ? :gruebel: |
AW: Nach unbestimmten String suchen
Klar, einfach vor dem Delete auslesen, danach isser ja weg *g*.
|
AW: Nach unbestimmten String suchen
Gut !
|
AW: Nach unbestimmten String suchen
Stichwort "HTML parsen"
Wurde vor Kurzem schonmal besprochen und wenn man da schonmal drin ist, kann man sich das gewünschte suchen lassen, ändern und es wieder als String/Datei/Stream (HTML) exportieren. |
AW: Nach unbestimmten String suchen
Sorry das ich das Thema noch mal aufmachen muss aber, PosEx geht bei mir nicht. Ich habe Pos ausprobiert aber es kommt die Compiliermeldung:
"[DCC Fehler] Unit1.pas(33): E2034 Zu viele Parameter" :( PS: Ich habe Delphi 2007 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz