sky.connect: Smileys im Forum per PHP umsetzen

Hi,
ich möchte in meinem Forum Smileys einbauen. Ich realisiere es bisher per Javascript, indem man auf ein Smiley klickt und dann im textarea dann z.B. ':-)' eingefügt wird. Gibt es eine möglichkeit, jetzt bei der Ausgabe per PHP anstatt eines ':-)' dann ein Bild anzuzeigen?
Also alle vordefinierten Text-smileys sollen durch das Bild-smiley ersetzt werden.

Thx
sky.

  1. Hi,

    Hi

    dein Zauberwort heisst: http://www.php.net/manual/de/function.ereg-replace.php

    Thx
    sky.

    Tschaui Christoph

    --
    Ich bin ein spezialisz!
    (Zitat von VENGA JO)
    sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
    Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
    Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
    1. Hallo Christoph,

      dein Zauberwort heisst: http://www.php.net/manual/de/function.ereg-replace.php

      Schlechte Idee. ereg ist zum einen langsam und zum anderen nicht binärkompatibel. Für Zeichenkettenersetzungen sollte man möglichst str_replace (http://de3.php.net/manual/de/function.str-replace.php) und nur wenn reguläre Ausdrücke wirklich gebraucht werden, preg_replace verwendet werden.

      Viele Grüße,
      Christian

      --
      Hast Du einen Beitrag? Nur her damit!
      http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
      1. Hallo Christian

        Schlechte Idee. ereg ist zum einen langsam und zum anderen nicht binärkompatibel. Für Zeichenkettenersetzungen sollte man möglichst str_replace (http://de3.php.net/manual/de/function.str-replace.php) und nur wenn reguläre Ausdrücke wirklich gebraucht werden, preg_replace verwendet werden.

        Hm, ok, bisher hab ich mir dabei nie was gedacht, aber jetzt weiss ich ja Bescheid :)
        Vielen Dank.

        LG Christoph

        --
        Ich bin ein spezialisz!
        (Zitat von VENGA JO)
        sh:) fo:) rl:° br:& ie:| mo:) va:) fl:) ss:| ls:< js:|
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
      2. Hi!

        Ich stimme Dir zwar voll und ganz zu, aber wieso braucht man hier Binärkompatibilität?
        Außerdem hatten wir doch genau sowas vor kurzem hier, leider finde ich den Thread nicht, da die Suche zur Zeit ein paar Probleme zu haben scheint.

        Grüße
        Andreas

        1. Hallo Andreas,

          Ich stimme Dir zwar voll und ganz zu, aber wieso braucht man hier Binärkompatibilität?

          Man stelle sich vor, ein "Angreifer" gibt einen Text ein, in dem das Null-Zeichen vorkommt. Ich weiß zwar nicht, was dann passiert (habe es nie ausprobiert) aber das gewünschte Ergebnis kommt garantiert _nicht_ heraus. (das gewünschte Ergebnis wäre, dass das Null-Zeichen einfach ignoriert wird, sofern es nicht im regulären Ausdruck steht)

          Außerdem hatten wir doch genau sowas vor kurzem hier,

          Habe ich entweder verpasst oder vergessen.

          Viele Grüße,
          Christian

          --
          Hast Du einen Beitrag? Nur her damit!
          http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
          SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
          sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
          1. Hi Christian!

            Man stelle sich vor, ein "Angreifer" gibt einen Text ein, in dem das Null-Zeichen vorkommt. Ich weiß zwar nicht, was dann passiert (habe es nie ausprobiert) aber das gewünschte Ergebnis kommt garantiert _nicht_ heraus. (das gewünschte Ergebnis wäre, dass das Null-Zeichen einfach ignoriert wird, sofern es nicht im regulären Ausdruck steht)

            OK, damit kenne ich ich nicht aus ;-)

            Außerdem hatten wir doch genau sowas vor kurzem hier,

            Habe ich entweder verpasst oder vergessen.

            Sicher nicht? Die Lösung kam IMHO von Dir, glaube ich zumindest, das war das mit 700 smilies ersetzen und dem Array mit den pattern und replacements, wenn ich nicht irre. Vielleicht war es auch jemand anders, aber es war genau dieses Problem, nur schon eine Stufe weiter ;-)

            Grüße
            Andreas

            1. Hallo Andreas,

              Sicher nicht? Die Lösung kam IMHO von Dir, glaube ich zumindest, das war das mit 700 smilies ersetzen und dem Array mit den pattern und replacements, wenn ich nicht irre.

              Achso, das meinst Du:

              $smilies = array (
                ':-)' => '<img src="freu.gif" alt=":-)" ...>',
                ';-)' => '<img src="zwinker.gif" alt=";-)" ...>',
                ':-(' => '<img src="traurig.gif" alt=":-(" ...>',
                ...
                ':-|' => '<img src="ernst.gif" alt=":-|" ...>'
              );

              $search = array_keys ($smilies);
              $replaces = array_values ($smilies);

              $text = str_replace ($search, $replaces, $text);

              (aus dem Kopf, nicht aus dem Archiv)

              Allerdings wollte ich eigentlich nicht direkt noch mal posten, schließlich gibt es ja auch eine Archivsuche. ;-)

              Viele Grüße,
              Christian

              --
              Hast Du einen Beitrag? Nur her damit!
              http://aktuell.de.selfhtml.org/tippstricks/beitrag.htm
              SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
              sh:) fo:) ch:] rl:( br:> n4:& ie:% mo:) va:) de:] zu:) fl:( js:| ss:) ls:[
  2. Hi,
    ich möchte in meinem Forum Smileys einbauen. Ich realisiere es bisher per Javascript, indem man auf ein Smiley klickt und dann im textarea dann z.B. ':-)' eingefügt wird. Gibt es eine möglichkeit, jetzt bei der Ausgabe per PHP anstatt eines ':-)' dann ein Bild anzuzeigen?
    Also alle vordefinierten Text-smileys sollen durch das Bild-smiley ersetzt werden.

    Thx
    sky.

    Hi,

    du könntest in dem String die Smilies suchen und mit ein paar String-funktionen rumspielen, z.B. Substr_replace().

  3. Hi Sky,

    Du könnest per regulären Ausdrücken nach den Smilys suchen:
    http://www.php.net/manual/de/function.preg-replace.php
    und diese dann durch die Bilder ersetzen...

    ich halte übrigens nicht sehr viel von diesen Bildchen,
    ich mag die Textversion viel lieber :o)

    Viele Grüße
    annA