Mailinglisten-Archive |
Ringo Großer schrieb: > Hallo Ulf > > Im angegebenen Beispiel im Manual werden die $ mit einen Backslash > escaped. In deinem Beispiel lässt du die Backslashes weg. Ist dies dem > Unterschied zwischen Strings in einfachen und doppelten > Anführungszeichen geschuldet? Ja. Wenn ein $ in einem String begrenzt von doppelten Anführungszeichen steht, wird eine Variable erwartet, die durch deren Wert ersetzt werden will. In dem Fall muss das $ maskiert werden. > Folgendes funktioniert zwar > printf(gettext('today is %1$s/%2$s/%3$s'), $month, $day, $year); > sieht aber insgesamt etwas unübersichtlich aus. > > Ich hab mir da jetzt nochmal eine eigene Funktion drumherum gebaut, um > die Parameter im String etwas lesbarer unterzubringen und komfortabler > übergeben zu können. So etwa in dieser Art: > > translate('today is [_0]/[_1]/[_2]', $month, $day, $year); Ok, jeder wie er will. Allerdings wäre es mir zuviel Aufwand mich noch um Sonderfälle zu kümmern, z.B. wenn du wirklich mal die Platzhalter-Syntax im String ausgeben willst. Sowas ist bei den Standardfunktionen schon berücksichtigt und bekommen bei mir - schon allein, weil ich mich nicht um die Wartung kümmern muss - den Vorrang. ciao ulf
php::bar PHP Wiki - Listenarchive