Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich in PHP nur das erste (oder letzte) Vorkommen eines Teilstrings ersetzen?

Wie kann ich in PHP nur das erste (oder letzte) Vorkommen eines Teilstrings ersetzen?

Mary-Kate Olsen
Freigeben: 2024-12-17 12:17:24
Original
262 Leute haben es durchsucht

How Can I Replace Only the First (or Last) Occurrence of a Substring in PHP?

Nur ​​das erste Vorkommen durch str_replace ersetzen

Obwohl es keine integrierte str_replace-Funktion gibt, die das Ersetzen auf das erste Vorkommen beschränkt, ist dies relativ Es gibt eine unkomplizierte Lösung, ohne auf komplizierte Hacks zurückgreifen zu müssen.

Um dies zu erreichen, nutzen Sie die strpos-Funktion, um Lokalisieren Sie die Position des Teilstrings innerhalb des Hauptstrings. Nach der Identifizierung verwenden Sie substr_replace, um die ursprüngliche Zeichenfolge zu ändern und dabei die Position des Auftretens und die Länge der Teilzeichenfolge anzugeben. Diese Methode ersetzt effizient das erste Vorkommen ohne den Overhead regulärer Ausdrücke.

Codebeispiel:

$haystack = "This is a sample string";
$needle = "is";
$replace = "was";

$pos = strpos($haystack, $needle);
if ($pos !== false) {
    $newstring = substr_replace($haystack, $replace, $pos, strlen($needle));
}

echo $newstring; // Output: "This was a sample string"
Nach dem Login kopieren

Bonus: Um das letzte zu ersetzen Auftreten, ersetzen Sie strpos durch strrpos:

$pos = strrpos($haystack, $needle);
if ($pos !== false) {
    $newstring = substr_replace($haystack, $replace, $pos, strlen($needle));
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich in PHP nur das erste (oder letzte) Vorkommen eines Teilstrings ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage