PHP-Snippet: Wrapper für str_replace

Mittwoch, 17. September, 2014

Die Funktion str_replace($aFrom, $aTo, $sString); ist unhandlich in der Handhabung vieler Ersetzungen. Die nachfolgende Funktion braucht nur 1 assoziatives Array mit

  • Key = Suchstring
  • Value = ersetzen durch

… anstatt 2er flacher Arrays jeweils mit Suchstrings und zu ersetzenden Werten.

Wie es funktioniert? Man zerlegt 1 assoziatives Array in diese 2 Arrays und macht dann die Ersetzung:

    /**
     * helper function: replace based on str_replace
     * @param array  $aReplace  key value array; keys=search; value= replace
     * @param string $sString
     * @return string
     */
    function makeReplace($aReplace, $sString) {
        $aFrom = array();
        $aTo = array();
        foreach ($aReplace as $sKey => $sValue) {
            $aFrom[] = $sKey;
            $aTo[] = $sValue;
        }
        return str_replace($aFrom, $aTo, $sString);
    }

weiterführende Links: