![]() |
StringReplace für eine Position
Ich habe z.B. folgenden Text:
Code:
Nun muss ich das in HTML-Code parsen... Ansich funzt es wunderbar für "statische" Parameter (i, b, u etc) aber in diesem Beispiel, muss ich ja [code]<a href=X>[/url] setzen. Dazu muss ich heraus finden, ob es ein
Hallo... Das ist [url=www.google.de]Google[/url] bzw. [url]http://www.google.de[/url]
Code:
oder
[url]
Code:
Tag ist.
[url=X]
Auch das funktioniert (theoretisch). Nun, möchte ich, dass, wenn er
Code:
findet, dass er
[url]
Code:
schreibt. Und wenn er
<a href=
Code:
findet, dass er daraus den Text nimmt...
[url]
Mein Problem ist jetzt, dass ich ja einfach
Code:
ersetzen muss... Problem, er soll das
[url]
Code:
an einer bestimmten stelle ersetzen ...
[url]
Wenn ihr noch kein Plan habt was ich will: Ich will "StringReplace" ausführen, welches es aber an einer Stelle einmal macht... PS: Ich hoffe es ist so ungefähr klar :P |
Re: StringReplace für eine Position
StringReplace ersetzt doch nur das 1. Vorkommen, wenn man ihm nichts anderes sagt.
|
Re: StringReplace für eine Position
Und wenn du anstelle von
![]() ![]() ![]() |
Re: StringReplace für eine Position
Wie ist es mit StuffString()?
Delphi-Quellcode:
uses StrUtils;
StuffString(); |
Re: StringReplace für eine Position
Also ich habe es jetzt ziemlich komplex gelöst, aber es funktioniert :P
Delphi-Quellcode:
[edit]stuffstr würde was nachher in der Zusammensetzroutine bringen[/edit]
start := 1;
found := PosEx('[url', source); while found > 0 do begin buffer := ''; if source[found + 4] = ']' then // [url] begin buffer := Copy(source, found + 5, PosEx('[/url]', source, found + 1) - found - 5); buffer := '[url=' + buffer + ']' + buffer + '[/url]'; end else if source[found + 4] = '=' then // [url= begin intBuffer := PosEx(']', source, found + 5); buffer := '[url=' + Copy(source, found + 5, intBuffer - found - 5) + ']' + Copy(source, intBuffer + 1, PosEx('[/url]', source, found) - intBuffer - 1) + '[/url]'; end; if buffer <> '' then begin source := Copy(source, 1, found - 1) + buffer + Copy(source, found + Length(buffer) - 1, Length(source) - found - Length(buffer) + 2); end; start := found + 1; found := PosEx('[url', source, start); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:31 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 by Thomas Breitkreuz