Volevo uno script php per recuperare tutte le immagini nel codice HTML ed elencarlo. Qualcuno può aiutarmi a fare questo, o qualche idea su come dovrei procedere? Sono nuovo, quindi qualsiasi aiuto sarebbe apprezzato.codice PHP per attraversare un file HTML per trovare tutte le immagini in là?
risposta
è possibile utilizzare DOMDocument o simplehtmldom. ecco un esempio DOMDocument:
$dom = new DOMDocument();
$dom->loadHtml($yourHtmlAsAString);
foreach ($dom->getElementsByTagName('img') as $img) {
echo $img->getAttribute('src').'<br>'; // or whatever you need
}
Eseguire il codice HTML tramite uno degli many HTML parser libraries e quindi eseguire una query per il valore dell'attributo src su tutti gli elementi img.
Suggerisco di guardare nello DOM. Dovrebbe fornire la funzionalità che stai cercando.
Ho provato a cercare DOMDocument in PHP? http://php.net/manual/en/domdocument.getelementsbytagname.php
Buon esempio da quella pagina:
$dom = new DomDocument();
$dom->prevservWhiteSpace = false;
$dom->loadHTML($htmlString);
$imageList = $dom->getElementsByTagName('img');
$imageCnt = $imageList->length;
for ($idx = 0; $idx < $imageCnt; $idx++) {
print $imageList->item($idx)->nodeValue . "\n";
}
dovrebbe darvi le basi necessarie.
* Disclaimer, l'esempio è leggermente modificato rispetto al commento che ho tirato fuori ma questo è roba abbastanza semplice.
Penso che uno dei modi più semplici per farlo sarebbe attraverso un'espressione regolare. Carica l'HTML tramite l'oggetto DOMDocument come detto ma crea un'espressione - apparentemente PHP ha 3 diversi metodi per farlo. Ho anche scritto un short post sulle espressioni regolari che possono aiutarti a prendere piede sull'argomento. Sono estremamente utili in situazioni come questa.
Se si desidera caricare da un file vero e proprio php/html ...
$dom = new DomDocument();
if ([email protected]$dom->load('img.php')) {
echo 'url does not exist';
return;
}
$imgs = $dom->getElementsByTagName('img');
for ($buffer = ''; $i = 0, $len = $imgs->length; $i < $len; $i++)
{
$buffer .= 'image ' . $i . ' is: ' . $imgs->item($i)->getAttribute('src') . '<br/>';
}
echo $buffer;
Grazie mille per il codice, funziona perfettamente. Nw I knd DomDocument può fare magie :) – Aditya
- 1. Come incorporare le immagini in un singolo file HTML/PHP?
- 2. Confronta le immagini per trovare le differenze
- 3. Come includere tutte le risorse in un unico file html?
- 4. Come trovo tutte le classi usate in un file PHP?
- 5. Attraversare in modo alterato attraverso l'albero per trovare la dimensione
- 6. Come posso ottenere tutte le immagini da un file qrc?
- 7. Jekyll per loop su tutte le immagini in una cartella?
- 8. Rimuovi tutte le immagini
- 9. Utilizzo di .htaccess per rendere tutte le pagine .html da eseguire come file .php?
- 10. Come si preparano le immagini per tutte le risoluzioni Android?
- 11. Ricevi tutte le immagini url da stringa
- 12. selezionare tutte le immagini utilizzando Asp.Net C#
- 13. estratto di tutte le immagini da HTML utilizzando Java
- 14. Aggiungere le immagini in un file Excel utilizzando PHP
- 15. Seleziona tutte le immagini PNG
- 16. lista tutte le costanti definite da un file in php
- 17. Ottenere tutte le immagini dalla cartella locale
- 18. Collegamento di un file php in un file HTML?
- 19. Attraversare l'albero DOM per visualizzare le informazioni sul parentNode
- 20. Algoritmo efficiente per trovare tutte le stringhe "uguali ai caratteri"?
- 21. Un unico file immagine per archiviare tutte le piccole immagini su una pagina
- 22. Wordpress: query tutte le immagini in un post media library
- 23. codice python per confrontare le immagini in python
- 24. Include PHP per HTML?
- 25. Includere PHP, non funziona quando il codice php incluso è per i file in diverse directory
- 26. Come attraversare un dacpac
- 27. Forzare le immagini per non avvolgere
- 28. Quali sono tutte le dimensioni delle immagini necessarie per le immagini su Android per rendere le cose davvero belle?
- 29. Salvare l'output di un file php in un file html
- 30. Dichiarazioni condizionali in codice PHP tra codice HTML
Date le risposte e il fatto uno è stato anche dato 3 up voti, sarebbe bene ad accettare la risposta che come la maggior parte delle persone ottengono il riconoscimento appropriato. – CogitoErgoSum