Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo hab ned frage, wenn ich in einem Guestbook zb :) schreibe dann wird das beim lesen duch einen Smily ersetzt. Da ich den Text mit $text übergebe, muss doch diese variable nach :) durchsucht werden ! wie geht das ???

weiss das jemand ?

mfg McMaiers

Geschrieben

Um das Austauschen von Zeichen gegen Smilies (Bilder) in PHP zu realisieren nutzt du die Funktion str_replace.

Das ganze sieht dann wie folgt aus :


$text = str_replace("$zeichen","<img src='../bilder/smilie/$bild' alt='$emotion'></img>",$post);
[/php]

Da du mitsicherheit mehr als ein Smilie einsetzten möchtest, baust du das Austauschen in eine Schleife ein.

Auszug aus einer Funktion :

[php]
function formatpost($post,$mysqlhost, $mysqluser, $mysqlpassword, $mysqldb)
{
$post = stripslashes($post);
$post = htmlspecialchars($post);
$post = nl2br($post);

$post = urlparse($post);
# smilies
$db_smilie = mysql_connect($mysqlhost, $mysqluser, $mysqlpassword);
if(!$db_smilie){}
else
{
mysql_select_db($mysqldb);

$sql_smilie = "select zeichen, bild,emotion from groupware_smilie";
$res_smilie = mysql_query($sql_smilie);
$num_smilie = mysql_num_rows($res_smilie);
for($i=0; $i<$num_smilie; $i++)
{
$zeichen = mysql_result($res_smilie, $i, "zeichen");
$bild = mysql_result($res_smilie, $i, "bild");
$emotion = mysql_result($res_smilie, $i, "emotion");

$post = str_replace("$zeichen","<img src='../bilder/smilie/$bild' alt='$emotion'></img>",$post);
}

}

Gruß Tool-Time

Geschrieben

mit php! Ein java script haut die :) in die Textarea und dann übergibt die form das an ein Php welches in die db schreibt.

Aber vorher müssten alle :) durch zb. <img scr="01.gif"> ersetzt werden.

mfg

Geschrieben
Original geschrieben von McMaiers

Aber vorher müssten alle : ) durch zb. <img scr="01.gif"> ersetzt werden.

Sinnvoller scheint es die Smilies erst beim ausgeben gegen die Bilder auszutauschen .

Für den Fall das du später z.B. den Pfad der Smiliebilder änderst brauchst du das später nur im Scrip zu änder ohne alle Texte abzuändern.

Wie gesagt str_replace ist dein Freund | weitere Infos findest du hier http://de.php.net/manual/de/function.str-replace.php

Geschrieben

Sinnvoll ist es da auch, die Smilies in einer Datenbank (+ "Smiliecodes") anzulegen, oder in einem configfile als Array zu hinterlegen.

Z.B.

$set['smilies'] = array (

"icon_biggrin" => ":D",

"icon_biggrin" => ":-D");

usw.

Also Dateiname => Smiliecode

Falls sich später mal was ändert, beeinträchtigt das nicht die bisherigen Postings. Und wie hier schon angesprochen wurde, erst bei der Generierung der Seite austauschen (also für die Ausgabe), nicht beim Eintrag des Postings ...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...