Jeg prøver at preg_match_all'e et javascript-array ud fra en hel streng 
af html, her er et eksempel på arrayet:
var images = 
['images/products/movies/13750_1.jpg','images/products/movies/13750_2.jpg']
Her er et klip php
   // $data er en lang steng med html
   $exp="/var images = \[(,?'[^']*')*]/";
   $res=preg_match_all($exp,$data,$matches,PREG_SET_ORDER);
   echo "<hr>Matches: ".$res." Exp = ".$exp."<br>";
   print_r_html($matches); // print_r, der skriver ud i html
   
Resultat:
Matches: 1 Exp = /var images = \[(,?'[^']*')*]/
Array
     * 0 => Array
           o 0 => var images = 
['images/products/movies/13750_1.jpg','images/products/movies/13750_2.jpg']
           o 1 => ,'images/products/movies/13750_2.jpg'
Hvorfor får jeg kun det sidste element i arrayet?
Det jeg prøver at sige i exp er:
$exp="/var images = \[(,?'[^']*')*]/";
"var images = \[" Strengen skal starte med "var images = [" ([ er ikke 
start af en klasse, er derfor escapet).
"("   Gentag
   ",?"      0 eller 1 komma
   "'"      Anførselstegn
   "[^']*"      nogle tegn, er ikke er anførselstegn
   "'"      Anførsestegn
")*"   Et antal gentagelser af ovenstående
"]"   Slutbracket for array. Skal ikke escapes; det er ikke en klasse,    da 
det ikke er startet med [
Hvad gør jeg galt?
Jeg har også prøvet med /var images = \[(,?'([^']*)')*]/
Det giver pænt filnavnet uden '', som jeg egentlig vil have, men stadig 
kun det sidste element.
/var images = \[((,?)'([^']*)')*\]/ giver ingen forskel
PREG_PATTERN_ORDER i stedet for PREG_SET_ORDER returnerer stadig kun det 
andet element
Leif
PS: Undskyld det lange indlæg; denne gang hjalp det ikke at formulere 
problemet for mig selv. Nogle gange er det nok at skrive et spørgsmål; 
når det er formuleret grundigt nok så andre kan forstå det, så ser man 
løsningen selv.
Jeg havde en kollega, der havde en tøjbamse, der bare skulle bruges til 
at lytte til problemformuleringen. Det var mere effektivt end at jeg 
skulle bruges til det. Men jeg ville da ikke have noget imod at være 
tøjbamse for hende 
