die function soll die ersten 4 smileys beibehalten und die restlichen die vorkommen, sollen per schleife gelöscht werden. (warum per schleife?) allerdings weiß ich nicht, wie ich die ersten 4 smileys "markieren" soll, damit diese nicht gelöscht werden?! wie macht man sowas am besten?
PHP-Code:
$text = 'asfsA:crazy:Ffsasaff:):):):) :D';
function convert_smileys_limit($text) {
/* die ersten 4 smilys umwandeln
$text = preg_replace("/(:thumb:|:\)|;\)|:D|:P|:crazy:|:\(|:shock:|:rofl:|:bad:)/ims", $target, $text, 4);
*/
//die restlichen smileys per schleife löschen, da injection gefahr besteht
while ($text != $filter || !isset($filter)) {
if (isset($filter)) {
$text = $filter;
}
$filter = preg_replace("/(:thumb:|:\)|;\)|:D|:P|:crazy:|:\(|:shock:|:rofl:|:bad:)/ims", "", $text);
}
return $text;
}
echo convert_smileys_limit($text);
Kommentar