Kann man der Funktion str_replace eine Grenze geben

son gohan

Erfahrenes Mitglied
Hi, kann man irgendwie erreichen das str_replace nur 5 mal ausgeführt wird im String.

Also ich habe einen Text und will nur 5 mal das angegebene Wort durch das andere ersetzen lassen, aber wenn ich dazu die Funktion nehme macht die das ja automatisch jedesmal?
 
Nein, aber mit der Funktion [phpf]preg_replace[/phpf] und entsprechendem regulären Ausdruck ist es möglich, nur eine bestimmte Anzahl der Vorkommen zu ersetzen.

Gruß hpvw
 
Schade, mit regulären Ausdrücken habe ich bis jetzt noch nichts gemacht.

Wäre es den schwer, kannst du mir vielleicht bitte ein Beispiel geben wie ich jedes beliebige Wort in ein Script mit preg_replace so oft ich will ersetzen lassen kann?

edit: ich glaub damit müsste es schon teilweise klappen:
PHP:
<?php
$zeichenkette = 'Der schnelle braune Fuchs sprang über den faulen Hund.';

$suchmuster[0] = '/schnelle/';
$suchmuster[1] = '/braune/';
$suchmuster[2] = '/Fuchs/';

$ersetzungen[2] = 'Bär';
$ersetzungen[1] = 'schwarze';
$ersetzungen[0] = 'langsame';

echo preg_replace($suchmuster, $ersetzungen, $zeichenkette);
?>

edit: Hallo, doch damit klappt es als letzten Parameter kann man angeben wie oft es wiederholt werden soll, danke nochmal.
 
Zuletzt bearbeitet:
Zurück