La mia scringa è questa:
****** mario /* Created by mario */
/* This file .... */ Ciccio
Sto cercando di applicare ad una stringa tipo questa , una espressione regolare, un esempio:
Codice:
preg_match_all('#ed(.*?)rio#i', $stringa, $matches, PREG_PATTERN_ORDER);
echo "******".$stringa."********";
echo "<pre>"; print_r($matches);echo "</pre>";
Ecco il risultato di ciò che stampa con quelle tre righe di codice:
Codice:
******mario /* Created by mario */
/* This file .... */ Ciccio********
Array
(
[0] => Array
(
[0] => ed by mario
)
[1] => Array
(
[0] => by ma
)
)
Se invece il codice è:
Codice:
preg_match_all('#mario(.*?)This#i', $stringa, $matches, PREG_PATTERN_ORDER);
echo "******".$stringa."********";
echo "<pre>"; print_r($matches);echo "</pre>";
Il risultato è:
Codice:
******mario /* Created by mario */
/* This file .... */ Ciccio********
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
In pratica alla mia espressione regolare NON piacciono i commenti /* */ .
Come risolvere? io voglio quello che è compreso tra "mario" e "This"
EDIT: Ho scoperto che il problema NON SONO I COMMENTI, ma il "\n" che spezza in due la stringa!