2010-12-10 5 views
1

J'utilise Simple HTML DOM pour obtenir du contenu à partir d'un site Web. Cependant, certaines images ne s'affichent pas parce qu'elles sont définies comme des images de backdroung d'un externe, donc j'ai appelé cela aussi. Cependant, la dose d'image n'a pas le chemin complet.Simple HTML DOM css

<style>  
div.spriteImgSmall { background: url(/images/css_sprites/film_sprites/smallimages_sprite.jpg); } 
    div.spriteImgSmall_17826 { background-position: -0px -0px; width: 86px; height: 64px; } 
</style> 

Il n'y a pas de balises tête ou corps, car cela fait partie d'une application facebook. Comment pourrais-je utiliser Simple HTML DOM pour ajouter sur l'URL de base au chemin?

+0

S'il s'agit de chemins relatifs, pourquoi ne pas analyser l'URL à partir de laquelle vous les obtenez? – yoda

+0

Je suis nouveau à cela, désolé. Je ne comprends pas, auriez-vous un exemple de code? – Keith

Répondre

0

DOM traite du HTML structuré, mais ce que vous avez là-bas, c'est CSS, qui pour DOM n'est que du texte non structuré. Donc probablement votre meilleure approche serait:

  1. Parse HTML DOM, trouver des balises de style
  2. Prenez le contenu de la balise de style en utilisant quelque chose comme (string)$dom->style
  3. Parse le contenu avec preg_match(), à la recherche de url(blah-blah)
+0

Merci pour votre aide. Je travaillais sur preg_match et j'ai trouvé la solution quand je suis tombé sur le moyen de le faire à travers le simple html dom. Drôle j'ai cherché tout ce site et n'ai rien trouvé avant de demander. http://stackoverflow.com/questions/3329499/convert-a-relative-url-to-an-absolute-url-with-simple-html-dom – Keith