Ich möchte einige Zeichen mit einer bestimmten Zeichenfolge außer einem div ersetzen. Hier ist mein str_replace:kein str_replace in einem Div-Tag
// smileys
$in = array(
':)',
':D',
':o',
':p',
':(',
';)',
'xD',
'^^',
);
$out = array(
'<img alt=":)" style="padding-left:3px;" src="img/emoticons/emoticon_smile.png" />',
'<img alt=":D" style="padding-left:3px;" src="img/emoticons/emoticon_happy.png" />',
'<img alt=":o" style="padding-left:3px;" src="img/emoticons/emoticon_surprised.png" />',
'<img alt=":p" style="padding-left:3px;" src="img/emoticons/emoticon_tongue.png" />',
'<img alt=":(" style="padding-left:3px;" src="img/emoticons/emoticon_unhappy.png" />',
'<img alt=";)" style="padding-left:3px;" src="img/emoticons/emoticon_wink.png" />',
'<img alt="xD" style="padding-left:3px;" src="img/emoticons/emoticon_evilgrin.png" />',
'<img alt="^^" style="padding-left:3px;" src="img/emoticons/emoticon_happy.png" />'
);
$text = str_replace($in, $out, $text);
Der var $ Text kann <div class="code-geshi"></div>
haben, aber ich ddon't die str_replace wollen für Smileys in gehen Wie kann ich das tun.?
Thanks :)
PS: Sorry für mein schlechtes Englisch ...
Wenn '$ Text' enthält Markup Sie sollten einen [DOM-Parser] (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662) verwenden und nur Ihren 'str_replace' auf den Textknoten des Dokuments ausführen verhindern Sie versehentliches Ersetzen in Elementattributen. – Gordon