substr_replace

(PHP 4, PHP 5, PHP 7)

substr_replaceErsetzt Text innerhalb einer Zeichenkette

Beschreibung

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

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 nicht negativ, 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 (0) 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.

Beispiele

Beispiel #1 Einfache substr_replace()-Beispiele

<?php
$var 
'ABCDEFGH:/MNRPQR/';
echo 
"Original: $var<hr />\n";

/* Die beiden Beispiele ersetzen alle Vorkommen von
   $var durch 'bob'. */
echo substr_replace($var'bob'0) . "<br />\n";
echo 
substr_replace($var'bob'0strlen($var)) . "<br />\n";

/* Einfügen von 'bob' direkt am Anfang von $var. */
echo substr_replace($var'bob'00) . "<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'33))."\n";

// Ein komplizierterer Fall bei dem jede Ersetzung unterschiedlich ist.
$replace = array('AAA''BBB''CCC');
echo 
implode('; 'substr_replace($input$replace33))."\n";

// Ersetze eine jedesmal unterschiedliche Anzahl von Zeichen
$length = array(123);
echo 
implode('; 'substr_replace($input$replace3$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