joe67
Cadet 4th Year
- Registriert
- Jan. 2007
- Beiträge
- 96
Hallo,
ich habe ein Problem dessen aktuelle Lösung mir nicht wirklich gefällt. Ich möchte in einer von mir programmierten Shoutbox Smilies verwenden. Dazu habe ich folgenden Code implementiert:
Damit preg_replace z.B. die Muster
und
nicht fehlerhaft interpretiert und aus beidem das hier macht >, habe ich die RegExp (?<!>):\( für den traurigen Smilie implementiert. Damit wird der smilie nur ersetzt wenn das Zeichen '>' nicht davor steht und gleichzeitig wird aus dem zweiten Smilie ein wütendes Gesicht so wie dieses: .
Soweit so gut, das ganze funktioniert perfekt. Jetzt möchte ich aber eine Liste der Smilies evtl. aus einer Datei oder DB auslesen. Dort sollen aber nur die Grafikdateien und die ASCII-Entsprechungen hinterlegt sein also z.B.:
Gibt es jetzt eine Möglichkeit Texte zu parsen in denen diese beiden ASCII-Smilies eindeutig erkannt werden, ohne dass ich komplexe Regular Expressions mit "Negative Lookbehind-Assertion" daraus machen muss und ohne dass es zu der oben angesprochenen Interpretation kommt?
Ich hoffe ich habe einigermaßen verständlich machen können, worum es mir geht.
j o e
ich habe ein Problem dessen aktuelle Lösung mir nicht wirklich gefällt. Ich möchte in einer von mir programmierten Shoutbox Smilies verwenden. Dazu habe ich folgenden Code implementiert:
PHP:
function Smilie2Image( $text )
{
$Smilies = array( '/(?<!>):\)/'
, '/\^\^/'
, '/:D\b/'
, '/(?<!>):\(/'
, '/:,\(/'
, '/>:\(/'
, '/:P\b/'
, '/;\)/'
, '/>:\)/'
);
$Images = array( '<img src="'.SUB_DIR.'smilies/smile.gif">'
, '<img src="'.SUB_DIR.'smilies/smile.gif">'
, '<img src="'.SUB_DIR.'smilies/biggrin.gif">'
, '<img src="'.SUB_DIR.'smilies/frown.gif">'
, '<img src="'.SUB_DIR.'smilies/cry.gif">'
, '<img src="'.SUB_DIR.'smilies/angry.gif">'
, '<img src="'.SUB_DIR.'smilies/tongue.gif">'
, '<img src="'.SUB_DIR.'smilies/wink.gif">'
, '<img src="'.SUB_DIR.'smilies/impish.gif">'
);
$text = preg_replace( $Smilies, $Images, $text );
return $text;
}
Damit preg_replace z.B. die Muster
Code:
:(
Code:
>:(
Soweit so gut, das ganze funktioniert perfekt. Jetzt möchte ich aber eine Liste der Smilies evtl. aus einer Datei oder DB auslesen. Dort sollen aber nur die Grafikdateien und die ASCII-Entsprechungen hinterlegt sein also z.B.:
Code:
:( frown.gif
>:( angry.gif
Gibt es jetzt eine Möglichkeit Texte zu parsen in denen diese beiden ASCII-Smilies eindeutig erkannt werden, ohne dass ich komplexe Regular Expressions mit "Negative Lookbehind-Assertion" daraus machen muss und ohne dass es zu der oben angesprochenen Interpretation kommt?
Ich hoffe ich habe einigermaßen verständlich machen können, worum es mir geht.
j o e