Zum Inhalt springen

ve_guestbook erweitern --> Smilies

Erstellt am 10. Mai 2005 · 3 Antworten · letzte Antwort am 24. Mai 2005

Tags: JavaScript & AJAX, Frage

martina ·

Hallo ihr

Ich hatte die super Idee, das ve_guestbook so abzuändern, dass man die Smilies anklicken kann und das entsprechende "Kürzel" dann im Formular erscheint.

Also sozusagen wie hier im Forum. Ich schreib nen Beitrag, klicke auf die gewünschten Smilies und schon fügt es diese ein.

Hat jemand eine Idee wie man das machen kann? Viiiiielen Dank!

b.​detert ·

Hallo martina,

folgendes wäre möglich:
Man könnte die Designvorlage bearbeiten und mittels JavaScript die Eintrag-Eingabe ausbauen.
Bei der Listenansicht dann die Einträge mittels Regulärer Ausdrücke überarbeiten.

Die Smilies könnte man mit Angabe des Zeichencodes , Pfad zu dem Smilie in einem DB Table ablegen und auslesen:

<?php

// Beispielsweise:
// (1)Deine Abfrage 
// (2)beispielsweise so auslesen....
while($row = mysql_fetch_array($res)) {
$smilieimage = '<img src="'.$row['smile_url'].'" alt="'.$row['smile_name'].'" title="'.$row['smile_name'].'" />';
$text = str_replace(' '.$row['zeichencode'].' ',$smilieimage,$text);
			}
?>

Zusätzlich könnte man dann noch BB COdes parsen :

<?php

// Nur ein Beispiel, nicht alle BBCODES vorhanden ...

$patterns = array(
		  "/\[b\](.*?)\[\/b\]/isS",
		  "/\[u\](.*?)\[\/u\]/isS",
		  "/\[i\](.*?)\[\/i\]/isS"
           );
$replacements = array(
		  "<strong>\\1</strong>",
		  "<u>\\1</u>",
		  "<i>\\1</i>"
);

$text = preg_replace($patterns,$replacements, $text);

?>

Nur eine Möglichkeit, aber vlt. hilft es Dir ja weiter. 😃

b.​detert ·

Der Code ist nur ein Ansatz und auch nicht komplett. Einfügen könnte man den Code in der Extensionklasse.
Eine Auswahl der Smilie´s muesste man in der Methode welche für die Eingabe zuständig ist einbauen.
In der "Ausgabe"-Methode müsste man dann die einzelnen Datensätze überarbeiten.

In der zuständigen While Schleife könnte man jeden Datensatz beispielsweise nochmal durch eine Smilie/BB-Code Parser Methode jagen. 😃