str_ireplace

(PHP 5, PHP 7, PHP 8)

str_ireplace Groß- und kleinschreibungsunabhängige Version von str_replace()

Beschreibung

str_ireplace(
    array|string$search,
    array|string$replace,
    string|array$subject,
    int&$count = null
): string|array

Die Funktion gibt einen String oder ein Array zurück, in dem alle Vorkommen von search innerhalb von subject unabhängig von deren Groß- oder Kleinschreibung gegen den entsprechenden replace-Wert ausgetauscht wurden.

Um Text anhand eines Musters statt einer konkreten Zeichenkette zu ersetzen, kann preg_replace() mit dem Suchmuster-Modifikatori verwendet werden.

Parameter-Liste

Wenn search und replace Arrays sind, nimmt str_ireplace() einen Wert von jedem Array und sucht/ersetzt mit diesen im subject. Wenn replace weniger Werte als search besitzt, wird eine leere Zeichenkette für die verbleibenden Ersetzungswerte verwendet. Wenn search ein Array ist und replace eine Zeichenkette, wird dieser Ersetzungswert für alle Werte des search genutzt. Die Umkehrung jedoch wäre sinnlos.

Wenn search oder replace Arrays sind, werden ihre Elemente in aufsteigender Reihenfolge bearbeitet.

search

Der gesuchte Wert, auch Nadel (needle) genannt. Ein Array kann genutzt werden, um mehrere Nadeln zu bestimmen.

replace

Der Ersetzungswert, der gefundene search Werte ersetzt. Ein Array kann genutzt werden, um mehrere Nadeln zu bestimmen.

subject

Die zu durchsuchende und darin ersetzende Zeichenkette oder das Array, auch Heuhaufen (haystack) genannt.

Ist subject ein Array, wird die Suchen-Ersetzen-Funktionalität auf jedes Element von subject angewendet. Die Funktion gibt dann natürlich ein Array zurück.

count

Falls übergeben, wird dies auf die Anzahl der durchgeführten Ersetzungen gesetzt.

Rückgabewerte

Gibt eine Zeichenkette oder ein Array mit ersetzten Werten zurück.

Changelog

VersionBeschreibung
8.2.0 Die Groß- und Kleinschreibung hängt nicht mehr von der mit setlocale() eingestellten Locale ab. Es wird nur noch die Groß- und Kleinschreibung von ASCII-Bytes verglichen. Nicht-ASCII-Bytes werden nach ihrem Byte-Wert verglichen.

Beispiele

Beispiel #1 str_ireplace()-Beispiel

<?php
$bodytag
= str_ireplace("%body%", "schwarz", "<body text=%BODY%>");
echo
$bodytag; // <body text=black>
?>

Anmerkungen

Hinweis: Diese Funktion ist binärsicher.

Achtung

Überraschende Reihenfolge der Ersetzungen

Da str_ireplace() von links nach rechts ersetzt, kann sie einen zuvor behandelten Wert ersetzen, falls mehrere Ersetzungen durchgeführt werden. Beispiel #2 in der Dokumentation von str_replace() zeigt die Auswirkungen in der Praxis.

Siehe auch

  • str_replace() - Ersetzt alle Vorkommen des Suchstrings durch einen anderen String
  • preg_replace() - Sucht und ersetzt mit regulären Ausdrücken
  • strtr() - Tauscht Zeichen aus oder ersetzt Zeichenketten
To Top