Webbsidor kan innehålla många typer av media , och ibland du vill att dina PHP- program för att kunna analysera och extrahera media från en webbsida . Till exempel kanske du vill kunna hitta alla bilder på en sida och göra ett galleri av dem . Det är lätt för mänskliga ögon att se bilder , men datorerna har att titta på koden . HTML , språket bakom webbsidor är ganska stökigt kod . Lyckligtvis har PHP en inbyggd funktion som gör det enkelt att analysera HTML . Det heter DOM
få bilden webbadresserna från ett exempel med HTML -fil
1 .
Gör ditt exempel HTML-filen . Antingen göra en ny webbsida , dvs en HTML -fil , eller använda ett du redan har . Webbsidan måste innehålla bilder . Namn HTML -filen " example. html " och ladda upp den till den översta mappen på din webbplats . Använd FTP eller ditt webbhotell är filuppladdning tjänst för att göra detta .
2 .
Skapa din PHP-skript . Öppna din favorit texteditor och skapa en ny textfil med namnet " getimages. php " .
3 .
Börja ditt manus genom att läsa HTML-filen . Använd denna kod :
$ html=file_get_contents ( ' example. html ') ;
? 4 .
Ladda ett DOM -objekt som gjorts från HTML- filens innehåll . DOM -objekt är en " data träd " av strukturerad information om HTML i filen . Använd DOM-objekt för att hitta alla bilden referenser i HTML-filen . Lägg till denna kod till ditt manus :
$ dom=new DOMDocument () ;
@ $ dom-> loadHTML ( $ html ) ;
$ xp=new DOMXPath ( $ dom ) ,
$ IMG=$ XP-> utvärdera ( " /html /body //img " ) ;
5 .
Extrahera bildfilen webbadresser från alla bilden referenser . Lägg till denna kod till ditt manus :
$ webbadresser=array () ;
for ($ i=0 ; $ i <$ IMG-> längd , $ i + + ) {
$ img=$ IMG-> post ( $ i ) ;
$ webbadresser []=$ img-> getAttribute ( " src ') ;
}
6
Visa alla bilder du hittade . Lägg till denna kod till ditt manus ?
>
php foreach ( $ webbadresser som $ url ) { ? >
7 .
Ladda getimages. php till toppen mapp på din webbplats .
8 .
Kontrollera ditt verk . Gå till getimages. php i din webbläsare och du bör se alla bilder från ditt exempel webbsida visas i en skorsten . Du kan försöka ersätta example. html med andra HTML- filer för att se vad som händer .