substr_count
substr
String-Funktionen
PHP Manual

# substr_replace

(PHP 4, PHP 5)

substr_replace — Ersetzt Text innerhalb einer Zeichenkette

### Beschreibung

mixed substr_replace ( mixed `$string` , mixed `$replacement` , mixed `$start` [, mixed `$length` ] )

substr_replace() ersetzt in einer Kopie von `string` alle Zeichen, die sich innerhalb der durch die Parameter `start` und (optional) `length` festgelegten Grenze befinden, mit der in `replacement` angegebenen Zeichenkette.

### Parameter-Liste

`string`

  Die Eingabezeichenkette.

  Ein array von strings kann übergeben werden; die Ersetzungen erfolgen dann bei jeder Zeichenkette der Reihe nach. In diesem Fall können die `replacement`, `start` und `length` Parameter entweder als Skalar übergeben werden, die auf jede Eingabezeichenkette der Reihe nach angewandt werden, oder als arrays; in diesem Fall wird das entsprechende Array Element für jede Eingabe Zeichenkette genutzt.

`replacement`

  Die Ersetzungszeichenkette

`start`

  Ist `start` positiv, beginnt die Ersetzung ab der im Offset-Parameter `start` definierten Stelle innerhalb von `string`.

  Ist `start` negativ, wird vom Ende der Zeichenkette `string` bis zum Wert von `start` rückwärts gezählt und dort mit dem Austausch begonnen.

`length`

  Ist der Parameter angegeben und positiv, stellt dieser Parameter die Länge des auszuwechselnden Teils von `string` dar. Ist der Wert negativ, gibt er die Zeichenzahl an, um die ab Ende von `string` rückwärts gezählt wird. Bis zu dieser Stelle erfolgt dann der Austausch. Ist der Parameter nicht angegeben, wird standardmäßig eine Ersetzung bis zum Ende des Strings (strlen(`string` )) durchgeführt, das heißt, die Ersetzung endet mit dem Ende von `string`. Sollte `length` den Wert null haben, wird die Funktion die Zeichenkette `replacement` in `string` an der durch `start` bezeichneten Stelle einfügen.

### Rückgabewerte

Der entstehende String wird zurückgegeben. Ist `string` ein Array, wird auch ein Array zurückgegeben.

### Changelog

Version | Beschreibung
--- | ---
4.3.3 | Alle Parameter akzeptieren nun arrays.

### Beispiele

Beispiel #1 Einfache substr_replace()-Beispiele

`<?php
$var = 'ABCDEFGH:/MNRPQR/';
echo "Original: $var<hr />\n";
/* Die beiden Beispiele ersetzten alle Vorkommen von
$var durch 'bob'. */
echo substr_replace($var, 'bob', 0) . "<br />\n";
echo substr_replace($var, 'bob', 0, strlen($var)) . "<br />\n";
/* Einfügen von 'bob' direkt am Anfang von $var. */
echo substr_replace($var, 'bob', 0, 0) . "<br />\n";
/* Die nächsten beiden Beispiele ersetzen 'MNRPQR' in $var
durch 'bob'. */
echo substr_replace($var, 'bob', 10, -1) . "<br />\n";
echo substr_replace($var, 'bob', -7, -1) . "<br />\n";
/* Entfernen von 'MNRPQR' aus $var. */
echo substr_replace($var, '', 10, -1) . "<br />\n";
?>`

Beispiel #2 Nutzung von substr_replace() um mehrere Zeichenketten auf einmal zu ersetzen.

`<?php
$input = array('A: XXX', 'B: XXX', 'C: XXX');
// Ein einfacher Fall: ersetze XXX in jeder Zeichenkette mit YYY.
echo implode('; ', substr_replace($input, 'YYY', 3, 3))."\n";
// Ein komplizierterer Fall bei dem jede Ersetzung unterschiedlich ist.
$replace = array('AAA', 'BBB', 'CCC');
echo implode('; ', substr_replace($input, $replace, 3, 3))."\n";
// Ersetze eine jedesmal unterschiedliche Anzahl von Zeichen
$length = array(1, 2, 3);
echo implode('; ', substr_replace($input, $replace, 3, $length))."\n";
?>`

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

    A: YYY; B: YYY; C: YYY
    A: AAA; B: BBB; C: CCC
    A: AAAXX; B: BBBX; C: CCC

### Anmerkungen

> Hinweis: Diese Funktion ist binary safe.

### Siehe auch

- str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
- substr() - Gibt einen Teil eines Strings zurück
- Zeichenketten Zugriff und Veränderung je Zeichen

substr_count
substr
String-Funktionen
PHP Manual