Avatar billede rotco Juniormester
18. december 2012 - 15:51 Der er 3 kommentarer

PHP: Find alle billeder i en variabet og gør noget med dem

Hejsa,

Målet med understående script er at finde ALLE billeder i en variabel - uanset om der er alt-tag eller andet på. Det her er hvad jeg har lavet indtil videre, men jeg kan ikke få det til at fungere:

<?php
    //Find ALLE BILLEDER
    $html = $row['artikel'];       

    preg_match_all('/<img.+src=[\'"](?P<src>.+?)[\'"].*>/i',$html, $result);
   
    $img = array();
    foreach( $result as $img_tag)
    {
        //Gør noget her! Eksempelvis resize billedet
        echo $img_tag[0] . "<br />";
    }
?>

For det første så finder scriptet hele img-tagget og indsætter det. For det andet så finder den 1 img-tag og 2 billede-destinationer, til trods for at det kun er ét billede.

200 point til den der kan hjælpe mig :)
Avatar billede olebole Juniormester
18. december 2012 - 15:59 #1
<ole>

Hvad skal du finde? Tagget eller URL'en?

/mvh
</bole>
Avatar billede rotco Juniormester
18. december 2012 - 16:12 #2
URL'en.

<img src="images/hello.jpg" alt="Hello there" />

Efter koden skulle jeg gerne bare have følgende tilbage: images/hello.jpg
Avatar billede olebole Juniormester
18. december 2012 - 16:13 #3
Du kan evt. prøve denne kode:

    //Find ALLE BILLEDER
    $html = $row['artikel']; 
   
    preg_match_all('/<img.+?src=([\'"])(.+?)\\1.*?>/i',$html, $result);
   
    echo '<pre>';
    var_dump($result);
    echo '</pre>';

Så vil du have alle IMG tags liggende i array'et $result[0] - og URL'erne i array'et $result[2]
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester