Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

PHP str_replace(): Zeichenketten bearbeiten und individuelle Strings einsetzen

Sie befinden sich: Home > Php Tutorial > Das Vorkommen eines Zeichen...

Das Vorkommen eines Zeichens in einer Zeichenkette suchen und mit einer eigenen String ersetzen


Eintrag am:  31.12.2009
Hits / Besucher:  6509
Sprache:  Deutsch
Kategorie:  Einsteiger Tutorials...
Tutorial Art:  eigenes
Eingetragen von   schubertmedia schubertmedia
 
Beschreibung

In diesem Beitrag möchten wir uns eingehender mit der PHP-Funktion str_replace() beschäftigen. Sie lernen, wie Sie einzelne Zeichen oder Wörter in einer Zeichenkette aufspüren und durch benutzerdefinierte Inhalte ersetzen können. Das ist besonders nützlich, um die Ausführung von HTML-Tags in Foren oder Gästebüchern zu verhindern, sodass die Tags nur als Text erscheinen, anstatt ausgeführt zu werden. Für Webmaster, die ein sicheres und robustes Webprojekt anstreben, stellt dies eine hilfreiche Methode dar, um unerwünschte oder potenziell schädliche Eingaben zu kontrollieren.


Was ist str_replace()?

Die Funktion str_replace() dient zum Suchen und Ersetzen von Zeichenketten in PHP. Sie gehört zu den am häufigsten genutzten Werkzeugen, wenn es darum geht, Inhalte dynamisch anzupassen oder zu „säubern“. Die Funktion ist dabei explizit kein regulärer Ausdruck und verarbeitet daher keine Pattern-Syntax wie preg_replace() es tut.

Syntax:

str_replace(gesuchter_Teil, neuer_Teil, alte_Zeichenkette);

  • gesuchter_Teil: Das Element (String oder Array), welches Sie ersetzen möchten.

  • neuer_Teil: Der String (oder Array), durch den der gesuchte Teil ersetzt werden soll.

  • alte_Zeichenkette: Die Ausgangsvariable (String), in welcher gesucht und ersetzt wird.

Anwendungsbeispiel

Nachfolgend finden Sie ein grundlegendes Beispiel. Wir ersetzen das Wort „alte“ durch „neue“ in einem vorher festgelegten String.

<?php

/*
* Created on 28.12.2009 by Nico Schubert
*/

$alte_zeichenkette = 'Das ist der alte Text.';
$zeichen = 'alte';
$ersatz = 'neue';

$neue_zeichenkette = str_replace($zeichen, $ersatz, $alte_zeichenkette);

echo 'Der Inhalt von $alte_zeichenkette: ' . $alte_zeichenkette . '<br>';
echo 'Der Inhalt von $neue_zeichenkette: ' . $neue_zeichenkette;
?>

Ausgabe:
Der Inhalt von $alte_zeichenkette: Das ist der alte Text.
Der Inhalt von $neue_zeichenkette: Das ist der neue Text.

Erklärung:
Das Wort „alte“ wird im String $alte_zeichenkette durch das Wort „neue“ ersetzt. Das Ergebnis wird anschließend in $neue_zeichenkette gespeichert und über echo ausgegeben.


Typische Anwendungsgebiete für Webmaster

Für Webmaster ist str_replace() besonders dann hilfreich, wenn Benutzer auf einer Website Formulare oder Eingabefelder nutzen können. Ein häufiger Anwendungsfall ist das Austauschen oder Entfernen von HTML-Tags, um Cross-Site-Scripting (XSS) und andere Sicherheitsrisiken zu reduzieren:

  • Sicherheitsmaßnahmen: Unerwünschte oder gefährliche Tags (z.B. <script>) werden entfernt oder umkodiert.

  • Textformatierung: Gewünschte Placeholders oder Platzhalter-Texte (z.B. {{NAME}}) können automatisiert durch personenbezogene Daten ausgetauscht werden.

  • Filterung von Eingaben: Ob Foren, Gästebücher oder Kommentare – dank str_replace() lassen sich unerlaubte Strings effizient blocken oder abwandeln.

Wichtige Hinweise und Erweiterungen

Case Sensitivity

str_replace() unterscheidet zwischen Groß- und Kleinschreibung. Wenn Sie suchbegriffe unabhängig von deren Groß- oder Kleinschreibung ersetzen möchten, können Sie stattdessen str_ireplace() verwenden.

Mehrfaches Ersetzen mit Arrays

str_replace() kann Arrays verarbeiten. Das erlaubt mehrere Suchbegriffe und Ersetzungen in einem einzigen Funktionsaufruf:

<?php

$suchmuster = array('alte', 'Text');
$ersatzmuster = array('neue', 'Inhalte');

$ausgangsstring = 'Das ist der alte Text.';
$ergebnis = str_replace($suchmuster, $ersatzmuster, $ausgangsstring);

echo $ergebnis;
// Ausgabe: Das ist der neue Inhalte.
?>

Verwenden von htmlentities() oder strip_tags()

Möchten Sie verhindern, dass Benutzer HTML oder JavaScript einschleusen, sind Funktionen wie htmlentities() oder strip_tags() oft sinnvoller als str_replace(). Damit wird entweder der komplette Code in HTML-Entitäten umgewandelt oder die Tags entfernt.

Performance

Für eine kleinere Anzahl von Ersetzungen ist str_replace() in der Regel ausreichend performant. Bei sehr umfangreichen Operationen oder großen Textblöcken sollten Sie prüfen, ob sich reguläre Ausdrücke oder String-Manipulationen auf Zeichenebene (z.B. substr_replace()) besser eignen.


Weiterführende Links

Weitere hilfreiche Artikel und Informationen zum Thema „Suchen und Ersetzen“ in PHP finden Sie unter:


Fazit: Die Funktion str_replace() ist ein vielseitiges Werkzeug für Webmaster, um Inhalte zielgerichtet zu verändern. Ob Sie nun bestimmte Tags unbrauchbar machen, Platzhalter durch eigene Werte ersetzen oder bestimmte Wörter filtern möchten – mit ein paar Handgriffen ist str_replace() schnell und effizient eingesetzt.

 

Tags:

 

Bücherregal mit drei Büchern: 'PHP 4 - Grundlagen und Profiwissen' von Hanser Verlag, 'Webdesign in a Nutshell' von O'Reilly Verlag, und 'Webgestaltung' von Galileo Computing.