Übersichtliches str replace

Aus php bar

Wechseln zu: Navigation, Suche

Problem

In einem String hat man viele verschiedene Strings mit str_replace() zu ersetzen. Anstatt viele Aufrufe von str_replace() zu machen will man str_replace() Arrays übergeben: Jedoch ist es unübersichtlich und schlecht wartbar, zuerst ein Array für die Suchbegriffe und dann eines für die Ersetzungsbegriffe zu definieren.

Lösung

Man definiert ein assoziatives Array das sowohl Such- als auch Ersetzungsmuster erhält.

Snippet

 $convert = array (
     '**' => "'''", //bold
     '[[' => '[',   //link
     ']]' => ']',
     '((' => '[',   //link
     '))' => ']',
     '--' => '~~'  //strike through
 );
 
10 $string = str_replace(array_keys($convert), array_values($convert), $string);
11 
12 // Einfacher, aber bei großem $convert-Array auch langsamer, ist dies:
13 $string = strtr($string, $convert);
Persönliche Werkzeuge