problemi di immagine con espressioni regolari

Quando eseguo il seguente script, l’immagine non è resa bene. Qual è il problema qui? Questo è il codice:

(.*)\/isU"; preg_match_all($pattern, $htmlcode, $matches); //print_r ($matches); $image = ($matches[0][0]); print_r ($image); ?> 

Questa è la parte del link che devo copiare (la parte data-src-l):

  

 $pattern = "#class=\"noscript\">.*data-src-l=([\"'])(?.*)\\1.*#isU"; 

Ma è meglio gestire la pagina come con la struttura DOM, non come una stringa. \\1 è un riferimento a ([\"']) modo che le stesse virgolette siano usate alla fine della stringa.Non così necessario per gli URL in quanto non ci dovrebbero essere virgolette dirette (senza caratteri di escape), ma è buono per scopi generali.

ps: se hai bisogno di tutto tra e /> (includendoli) - $pattern = '#class="noscript">.*().*#isU';

Usa DOMDocument (spero che la tua insegnante non ti rimprovererà) :

 $dom = new DOMDocument(); $dom->loadHTMLFile('http://www.asaphshop.nl/epages/asaphnl.sf/nl_NL/?ObjectPath=/Shops/asaphnl/Products/80203122'); $xpath = new DOMXPath($dom); $url = $xpath->query('//div[@id="ProductImages"]/ul/li/a/img/@data-src-l')->item(0)->nodeValue; echo $url;