Christian Seiler: Bitte

Beitrag lesen

Hallo,

$     (keine Ahnung)

Das Gegenstück zu ^ - sprich Stringende

Ich möchte allerdings darauf hinweisen, dass preg_match bei PHP - wenn ohne Modifier angewandt - $ auch ein Zeilenende-Zeichen matchen kann.

/^\d{1,6}(?:,\d{1,6}){0,5}$/

matcht auch folgenden String:

"1,2,3\n"

Hier in diesem Fall ist das unkritisch (ein SQL-Statement geht durch \n nicht kaputt), aber generell ist das ein Fehler, der gerne gemacht wird.

Abhilfen für andere Fälle, wo so etwas kritisch sein kann:

D-Modifier: /^\d{1,6}(?:,\d{1,6}){0,5}$/D

\z statt $: /^\d{1,6}(?:,\d{1,6}){0,5}\z/
 (nicht mit \Z verwechseln, was das Gegenteil ist, d.h. immer auch eine
  optionale Newline mitmatcht)

Viele Grüße,
Christian

--
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
            -- Kommentar bei TDWTF