Ausdrücke durch Array ersetzen

  • Ausdrücke durch Array ersetzen

    Da reguläre Ausdrücke vielen schwer fallen und ich die Funktion selbst ganz praktisch finde, zeige ich euch hier mal eine Funktion, die ähnlich wie sprintf (aber mit eigenem Replace-String) funktioniert.

    Quellcode

    1. <?php
    2. echo replace('Herzlich Wilkommen bei <a href="?">?</a>, dem ? für Jedermann',
    3. 'http://www.easy-coding.de', 'Easy Coding', 'Coder Forum');
    4. function replace($var) {
    5. $arr = func_get_args();
    6. $i = 0;
    7. $var = preg_replace("/(\?)/e", "\$arr[++\$i]", $var);
    8. return $var;
    9. }
    10. ?>
    Alles anzeigen


    In der konkreten Anwendung habe ich diese Funktion durch meine bisherigen printf Funktionen ersetzt.
    Einfach aus dem Grund, weil meine Datenbanken jetzt mit PDOs laufen und man bei PDOs mit Fragezeichen statt %s arbeitet. Wenn man nun überall mit Fragezeichen arbeitet, ist es leichter zu bedienen. (zumindest komme ich weniger durcheinander)

    Quellcode

    1. <?php
    2. $stmt = $dbh->prepare("INSERT INTO FOO (name, value) VALUES (?, ?)");
    3. $stmt->bindParam(1, 'one');
    4. $stmt->bindParam(2, 'two');
    5. $stmt->execute();
    6. ?>