questo:php undertsanding vs. avido nongreedy corrispondenza
preg_match('~foo(.*?)(bar)?~','foo bar',$m);
mi dà questo:
Array
(
[0] => foo
[1] =>
)
Sono un po 'confuso su questo. Ho capito che il gruppo 1 mi sta dando una stringa vuota, perché è una partita pigra. Ma non dovrei (bar)?
essere goloso e quindi darmi il gruppo di cattura 2?
mi sembra ragionevole che quello che dovrei essere preliminari è
Array
(
[0] => foo
[1] =>
[2] => bar
)
dove [1]
è uno spazio. Eppure ... non sta succedendo. Perché?
** Off-topic: ** Per favore cambia il tuo nome in 'mysqli_noobie ...'. Informazioni su [* prepared statements *] (http://j.mp/T9hLWi) e uso [PDO] (http://php.net/pdo) o [MySQLi] (http://php.net/mysqli) - [questo articolo] (http://j.mp/QEx8IB) ti aiuterà a decidere quale. Se scegli PDO, [ecco un buon tutorial] (http://j.mp/PoWehJ). – HamZa
@HamZa Questo mi ha fatto ridere! – IMSoP
Se funzionasse come ci si aspetterebbe che funzionasse, [0] sarebbe in realtà "foo bar". [0] è la partita completa. –