ich habe mir ein eigenes Gästebuch mit PHP erstellt. Darin sollen Smilies eingefügt werden, die dann in eine Grafik umgewandelt werden.
Das klappt auch alles hervorragend, nur wird vor und hinter dem Smilie der Doppelpunkt angezeigt, und wird der letzte Smilie (cry) eingefügt, auch noch die Klammer. Kann mir einer sagen, warum?
nimm str_replace statt preg_replace. Es ist schneller, und du brauchst die Funktionalität der regulären Ausdrücke nicht.
Warum die „:“ bleiben: preg_replace erwartet einen regulären Ausdruck, der beginnt und endet mit einem Trennzeichen, welches nicht mit zum Ausdruck gehört. Da du vorn und hinten einen : hast, interpretiert der das als Trennzeichen (wenn die : nicht da wären, gäbe es gleich einen Fehler).