Smilies begrenzen pro Eintrag

Hi

Ich habe die Suche benutzt aber nichts gefunden!

Ich wollte mal fragen ob mir einer einen Denkanstoß zu folgenedm geben kann:

Ich schreibe grad ein GB und ich möchte das man pro Beitrag nur zB 3 Smilies nutzen. Wenn es über dei Zahl geht sollen die anderen Smilie Codes einfach net mit eingetragen werden.

Ist sowas möglich oder geht das auch anders?

Vielen Dank im voraus

Mfg
MajorWindbeutel :)
 
Bei der Funktion [phpf]preg_replace[/phpf] kannst du mit einem vierten optionalen Parameter ein Limit angeben, das die maximale Anzahl von Ersetzungen angibt.
D.h. gibst du die Zahl 3 an, so wird preg_replace auch nur die ersten 3 Übereinstimmungen ersetzen.

Das könnte schonmal ein Ansatz sein...
 
Dh ich müssten den Smilie bweim EIntragen in ein IMG Tag ändern dh heißt voher zB :smilie: ind <img..... ändern jo das würde gehen danke! Ich probiers nacher mal.

Wenn man aber mehr als 3 SMilie Codes einsetz bleiben die anderen Zeichen einfach so drin stehen oder? Kann man die dann auch löschen?
 
Ja die würden dann erstmal stehen bleiben. Allerdings könntest du ja dann ein weiteres Mal mit einem [phpf]str_replace[/phpf] arbeiten, das dir dann alle restlichen Smiley-Codes durch leere Zeichenketten ersetzt.

Geht vielleicht auch noch eleganter, aber mir fällt im Moment sonst nichts brauchbares ein.
 
Jetzt hab ich ein dickes Problem wenn ich für jeden Smilie ein preg mache dann wird diese Sorte von Smilie 3mal zugelassen aber ich will ja das insgesammt nur 3 möglisch sind.

Wie kann ich das denn verketten? ich meine das so

smilie1+smilie2, ersatzsmilie1+ersatzsmilie2

Ich hoffe ihr versteht mich
 
SO jetzt hab ich ne Idee wie hieß der Befehl noch um ine einem String einen Zeichfolge zu suchen?

den Befehl zähl ich dann mit count() und alles ist gut.

Bitte helft mir.
DAnke
 
vielleicht wäre dies eine lösung:

PHP:
$smilies = array("bla","blub");

$y=1;
foreach($smilies as $val)
{
 while($y<=5)
 {
  if(!preg_match("/:".$val.":/",$string) || $y>5) break;
  else{$y++;$string = preg_replace("/:".$val.":/","<img src=".$val.".jpg>",$string,1);}
 }
}
 
Zurück