Ausdrücke durch Array ersetzen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 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. ?>