Neuigkeiten:

still alive...

Hauptmenü

Forumcode einbinden

Begonnen von puchne, 05. März 2006, 15:45:25

Vorheriges Thema - Nächstes Thema

puchne

Hallo,
ich würde gern eigene code-bausteine in mein script einbauen in der Form in der es auch hier  und in vielen anderen Foren geschieht.
Also z.B. das [link:xy.html]xy[/link] ersetzt wird durch xy.
Dazu wollte ich drei str_replace Funktion einbauen.
Die erste ersetzt [link: mit
und die dritte ersetzt [/link] mit
Das Problem ist das zweite str_replace, da dadurch auch andere im Text vorkommende ] (z.B. wenn jmd ein ] smiley oder sonstwas setzt) mit \\\'> ersetzt werden.
Also kann diese Funktionen irgendwo zusammenfassen?
(hoffe die Frage lässt mich nich allzu doof aussehen /uploads/emoticons/icon_e_wink.gif.3167d127940f44558fbf1ccd9b6d60a9.gif\" alt=\";-)\" /> )
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



jakobg


Original von puchne Also z.B. das [link:xy.html]xy[/link] ersetzt wird durch xy.
[/quote]Ich würd das nach dem BBC-code machen, dass da nicht [link:xy.html] sondern steht. So ist es nämlich in allen anderen Foren.

http://jakobg.de.ms\" rel=\"external nofollow\">Jakob


http://cartoons.us.ms\" rel=\"external nofollow\">http://jakobg.ja.funpic.de/cartoonseite/banner/banner2.gif\" alt=\"banner2.gif\">


puchne

das ändert allerdings nichts an meinem problem /uploads/emoticons/icon_e_sad.gif.cc8ba2b6b966c5e020020efa47702aab.gif\" alt=\":(\" />
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



eleet

Du wirst mit str_replace() wahrscheinlich eh nicht weit kommen, da sonst im Fall ungültiger Eingaben
(z.B. [link= ...]blafasel [irgendwas]) Dein HTML vollkommen durcheinander geht.
Du brauchst hier reguläre Ausdrücke.
Siehe dazu
http://de3.php.net/manual/de/ref.pcre.php\" rel=\"external nofollow\">http://de3.php.net/manual/de/ref.pcre.php
http://de3.php.net/manual/de/function.preg-replace.php\" rel=\"external nofollow\">http://de3.php.net/manual/de/function.preg-replace.php
Bin mal so nett und zeig noch, wies in Deinem Fall gehen könnte:


$text = preg_replace(
   \'#\\[link=(((?>\\w+://)?).*?)\\](.*?)\\[/link\\]#sie\',
   \'\"\\3\"\',
   $text );

 
 
Dieser Ausdruck ersetzt solche link-Tags durch tatsächliche Links (und als zusätzlichen Bonus öffnet er externe Links in einem neuen Fenster, siehe hier).
hth,
eLeeT
 - Editiert von eLeeT am 05.03.2006, 17:23 -

-= vay\' DalarghDI\' yIqaw =-




puchne

klasse, Danke!
Werd ich gleich mal ausprobieren ...
http://www.licht-malerei.de\" rel=\"external nofollow\">»private Foto-Webseite



all your base are belong to us / Discord