Håller på att förlora förståndet över ett reguljärt uttrycka som vägrar fungera som jag tänkt mig. Håller på med skript för att underlätta att hitta bra filmer att kolla på göteborgs filmfestival. Är tänkt söka igenom bioprogrammet och matcha titlarna mot imdb.
Raderna jag vill fånga ser ut såhär:
<td><a class="showStatusFewTicketsLeft" href="/filmfestival/info/sv/festivalprogram/programentry?filmId=164776">Mommy is at the Hairdresser's</a></td>
<td>Capitol</td>
Och vill i form av grupper få ut , (showStatusFewTicketsLeft,) (/filmfestival/info/sv/festivalprogram/programentry?filmId=164776), och (Capitol).
Tidigare hämtade jag bara namnet och använde:
$regexp =
'|<a.+?/filmfestival/info/sv/festivalprogram/programentry.+?>(.+?)</a>|';
preg_match_all($regexp, $output, $matches);
(Vilket jag är förvånad över det fungerar, borde rimligtvis bli fel då .+? borde svälja allt efter första länken den stöter på och sedan fortsätta in i rätt länk, men tänker kanske fel här.)
Det nya uttrycket (som ej fungerar) ser ut på följande vis:
$regexp =
'|<a\h*class="(\w*)"\h*href="(/filmfestival/info/sv/festivalprogram/programentry\?filmId=\d+)">(.+?)</a></td>\s*<td>(\w+)</td>|';
preg_match_all($regexp, $output, $matches);
Har försökt att lägga till en del i taget, men har inte lyckats matcha ut någon av de nya grupperna (helt tomt resultat). Kan posta skriptet i sin helhet om detta skulle underlätta. Otroligt tacksam om någon kan klura ut vad som inte stämmer.
EDIT: [PHP]-taggar verkar strippa "\" så fick använda [CODE] istället
EDIT2: Gött som fan, fixade det bytte ut \s*? mot [^<]* på slutet. Skumt då inte ens .*? fungerar, men men. :confused:.