• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Smilies mit eregi

Status
Für weitere Antworten geschlossen.

Körnerbrötchen

Aktives Mitglied
Hallöchen,
ich habe irgendwie Tomaten auf den Augen. Mein String geht mir verloren, sobald ich folgende Funktion durchlaufen lasse:
Code:
$str = eregi_replace("\:-)",'<img src="smilies/smile.gif" alt="glücklich" />',$str);
Ich habe keine Ahnung. Sieht doch alles richtig aus, aber wahrscheinlich bin ich nur mal wieder zu lange am PC und checks einfach nicht.

Danke für die Hilfe,
Körnerbrötchen
 
Werbung:
preg ist nicht wirklich sinnvoller, str schon, da hast du recht. Aber mal abgesehen davon, würde ich meinen Fehler dennoch gerne wissen. Den beantwortest du mir nämlich nicht.

//edit: Gibt keinen Fehler. Zumindest nicht hier. Hatte in der Funktion den return-Wert vergessen. *aua*
 
Zuletzt bearbeitet:
Werbung:
Wieso hast du vor dem Smile, das ersetzt werden soll ein / (slash)?
Wenn dein PHP Server halt soo pingelig ist, mach die Quotes bei deim IMG Tag auch zu double (") und escape die doublequotas die die attributen brauchen..

Sonst probier mal einfach das alles, einfach nur das eregi durch str ersetzen....



Gruss ;)
 
warum sollte preg_replace nicht sinvoller sein? es ist um einiges schneller :-D
und da du anscheinend nciht weißt die du was escapen sollst verwende doch einfach preg_quote();

ich würde es aber so machen

PHP:
$text = 'Dein text mit Smileys und so :-/';

$smileys = array(
    ':-)' => 'smile.gif',
    ':-/' => 'bla.gif'
);

$smileyDir = './smileys/';

foreach($smileys as $smiley => $image) {
    if(!file_exists($smileyDir . $image)){ continue; }
    $imageInfo = getimagesize($smileyDir . $image);
    $text = str_replace($smiley, '<img src="' . $smileyDir . $image . '" ' . $imageInfo[3] . ' />', $text);
}
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben