Cioè dovrei prelevare più dati da uno stesso sorgente, allargo allora il testo da includere avvicinando il primo delimitatore ma poi non matcha più!
Mi sa che sbaglio qualcosa... chi mi sa dare una mano?
I fatti:
(SORGENTE: http://www.imdb.com/title/tt0055171/ nei codici sotto è il solo HTML come $output)
Data la riga:
codice:
<a href="/name/nm0264770/?ref_=tt_cl_t3" itemprop="url"> <span class="itemprop" itemprop="name">Franco Fabrizi</span>
Fino a ieri mi interessava solo gli attori, quindi per quel Franco Fabrizi quindi la regex era:
codice:
preg_match_all('~<span class=\"itemprop\" itemprop=\"name\">(.+)<\/span>~',$output,$matches);
ed andava, infatti mi estraeva le righe a partire da quel SPAN e mi preparava degli array $matches[] con tutti gli attori della pagina (nel sorgente IMDB ce ne sono molte, di ricorrenze):
codice:
[0] => Array (
[0] => La moglie di mio marito
[1] => Antonio Román
[2] => José Alfayate
[3] => José Alfayate
[4] => Walter Chiari
[5] => Yvonne Bastien
[6] => Franco Fabrizi |
[7] => Walter Chiari
[8] => Yvonne Bastien
[9] => Franco Fabrizi
[10] => Fred Clark
[11] => Akim Tamiroff
[12] => Marisa de Leza
[13] => Pietro De Vico
[14] => Gabriella Andreini
[15] => Carlos Larrañaga
[16] => María Luisa Ponte
[17] => Manolo Morán
[18] => Claudio Biana
[19] => Wanguard Film
[20] => Explorer Film '58
[21] => Faro Film
)
Oggi mi interessa anche l'id "nm0264770" quindi ho provato ad estendere la riga in:
codice:
preg_match_all('~<a href=\"\/name\/nm(.+)<\/span>~',$output,$matches);
e non va una mazza! 
L'array $matches[] è ora vuota, non contiene niente:
codice:
print_r($matches);
restituisce
Forse mi incasino con qualche escape?
Non mi sembra, sia le virgolette che lo slash lo includo con un backslash, con la stessa logica della vecchia regex dove funzionava.
Anche il delimitatore '~' lo uso uguale.
Perchè ora mi dice che non esegue la regex?
Fra l'altro l'ho provato su vari tester online (ad esempio https://regex101.com/
http://www.lumadis.be/regex/test_regex.php ) e da loro va.
Non solo, il primo crea pure il codice PHP e neppure quello va (siamo sempre lì: non trova corrispondenze la funzione).
Grazie in anticipo per chi ha la pazienza anche solo di leggerlo!