sick
I'm Rick James, bitch!
|
grias eich. hab da so meine kleinen schwierigkeiten, wenn i an ubb code der in da datenbank steht wieder zurückwandeln will... mit den url's is jo kein problem. z.b. so $daten[message] = preg_replace("/\[url](.*)\[\/url\]/siU","<a href=\"\\1\" target='_blank'>\\1</a>",$daten[message])
aber wie kann i jetzt bei der eingabe ein bild+url einfügen..? d.h. ein bild mit [img] und wenn man draufklickt liegt ein [url] dahinter.... any ideas?
Bearbeitet von atrox am 02.04.2003, 02:12 (marked solved)
|
atrox
in fairy dust... I trust!
|
poste deine lösung für die nachwelt
|
sick
I'm Rick James, bitch!
|
hmm, leider zu bald gefreut geht doch ned.... soll so in der art sein, wie hier im forum der [thn] code füa die thumbnails.... wie bring i da de url hinein bzw. wieder heraus...?
|
atrox
in fairy dust... I trust!
|
weil es unnötig kompliziert erscheint alles mit einer regex-rule abzudecken, würdre ich vorschlagen, du führst zuerst die spezielleren, und dann die allgemeineren ersetzungen durch. also zb zuerst (falls notwendig) spezielle regeln für kombinierte ubb-konstrukte, und dann für die allgemeineren einfachen ubb codes. (außer natürlich, die verschachtelung ist ident mit der von html, in dem fall kommt man wohl in den meisten fällen nur mit wohl sortierten allemeinen umsetzungsregeln aus).
|
sick
I'm Rick James, bitch!
|
hmm, thx aber genau diese "speziellen regeln für kombinierte ubb-konstrukte" bring i ned zam ...
|
watchout
Legendundead
|
hmm, thx aber genau diese "speziellen regeln für kombinierte ubb-konstrukte" bring i ned zam ... einfach  nimm an, du hast: [ URL=www.hotpants.com][ IMG]www.hotpants.com/blue.jpg[/ IMG][/ URL] und du wendest zuerst die img-regexp an, dann kommt mal das raus: [ URL=www.hotpants.com]<img src="www.hotpants.com/blue.jpg">[/ URL] wenn du jetzt die url-regexp anwendest kommt <a href="www.hotpants.com"><img src="www.hotpants.com/blue.jpg"></a> raus "problematisch" wirds, wenn du auch [ URL][ IMG]www.hotpants.com/blue.jpg[/ IMG][/ URL] parsen willst, weil dann wird dir imho nix anderes übrigbleiben, als eine eigene regexp zu machen  zb wäre das für obige ca... "/\[URL\]\[IMG\]([^\[\/IMG\]\[\/URL\]])\[\/IMG\]\[\/URL\]/" verzeih, wenn ich mich da jetzt irgendwo bei den klammern vertan hab  ps: links funken _nicht_
|
sick
I'm Rick James, bitch!
|
najo, i hab [ URL]www.blabla.com[ IMG]www.bla.at/1.gif[ /IMG][ /URL] des is ja das problem....
|
watchout
Legendundead
|
najo, i hab [ URL]www.blabla.com[ IMG]www.bla.at/1.gif[ /IMG][ /URL] des is ja das problem.... hmm, so funkts ja netamal bei html...  obwohl es natürlich möglich is: (ungefähr so) "/\[URL\]([^[\/IMG\]]*)\[IMG\]([^\[\/IMG\]]*)\[\/IMG\]\[\/URL\]/" für etwaige fehler übernehm ich keine verantwortung
|
sick
I'm Rick James, bitch!
|
hmm, ok. danke mal derweil werd des ganze nochmal "überdenken" is wahrscheinlich einfacher, wenn ich's vorher schon anders eingebe...
|
Sticker
Big d00d
|
EDIT: Wenn URL= vorhanden ist: $x="/\[URL=([\"']?)([^\"']*)([\"']?)\](.*)\[/url\]/siU";
$y="<a href=\\2 target=_blank>\\4</a>";
$text=preg_replace($x, $y, $text);
Wenn nur URL vorhanden ist: $x="/\[url\]([^\"]*)\[\/url\]/siU";
$y="<a href=\\1 target=_blank>\\1</a>";
$text=preg_replace($x, $y, $text);
Du musst nur die [ IMG] Tags danach ersetzen. EDIT2: Kann es sein das das Forum aus: \ \ nur \ macht?
Bearbeitet von Sticker am 29.03.2003, 20:56
|
watchout
Legendundead
|
EDIT:
Wenn URL= vorhanden ist:
$x="/\[URL=([\"']?)([^\"']*)([\"']?)\](.*)\[/url\]/siU";
$y="<a href=\\2 target=_blank>\\4</a>";
$text=preg_replace($x, $y, $text);
Wenn nur URL vorhanden ist:
$x="/\[url\]([^\"]*)\[\/url\]/siU";
$y="<a href=\\1 target=_blank>\\1</a>";
$text=preg_replace($x, $y, $text);
Du musst nur die [ IMG] Tags danach ersetzen.
EDIT2: Kann es sein das das Forum aus: \ \ nur \ macht? 1. hilft das bei seinem anwendungsfall ([ URL]www.blabla.com[ IMG]www.bla.at/1.gif[ /IMG][ /URL]) nicht 2. fehlen ca 30 escapes 3. ok, das mit den escapes hab ich grad bemerkt, liegt wohl am [ PHP] - tag
|
Sticker
Big d00d
|
Das mit den escapes liegt am PHP Tag.
$x="/\[URL]([^\"]*)\[IMG\]([^\"]*)\[\/img\]\[\/URL\]/siU"; $y="<a href=\\1 target=_blank>\\2</a>"; $text=preg_replace($x, $y, $text);
Bearbeitet von Sticker am 30.03.2003, 14:40
|
sick
I'm Rick James, bitch!
|
ok, nochmal thx @ all
Sticker, deine Lösung funkt. danke
|