2012
08.28
08.28
preg_match("/^1st line %0A 2nd line$/")
Vodící znaky ^ a $ označují začátek a konec vstupu. Na tom není nic objevného. Takto zapsáno je ovšem koncem chápán také konec řádky. Tzn., že „\n“ (urlencode(\n) = ‚%0A‘) ukončuje platnost výrazu a co je za, prochází bez povšimnutí. To může být problém například v momentě kdy regex slouží k hlídaní tvaru vstupu.
Řešením je switch, který pohlídá konec včetně případného řádkování.
preg_match("/^1st line %0A 2nd line$/D")