2010-09-01 3 views
4

Je me demande si quelque chose comme JQuery $ ('element.selector') est implémenté pour PHP? Quand je CURL et moi avons obtenu des codes HTML du site distant, je voudrais sélectionner seulement les étiquettes que je veux avant que je l'envoie à mon HTML.

Merci

+0

Vous recherchez "phpQuery". – mario

Répondre

14

Le PHP Simple HTML DOM Parser a une fonctionnalité similaire:

// Create DOM from URL or file 
$html = file_get_html('http://www.google.com/'); 

// Find all images 
foreach($html->find('img') as $element) 
     echo $element->src . '<br>'; 

// Find all links 
foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 
+0

LOL J'ai renversé mon opinion quand j'ai remarqué le lien de téléchargement à dom parser. Excusez moi ;-) Merci de m'avoir montré HTML DOM Parser même si je ne gère rien d'autre que XHTML ces jours-ci et que j'utilise DOM. –

+0

DOMDocument/DOMXPath est _extremely_ plus rapide, implémenté au niveau C, et peut également gérer le HTML mal formé, peut-être même mieux. L'écriture de certaines fonctions d'aide modifiant les sélecteurs 'jquery'/'css' dans XPath n'est pas si difficile. – Wrikken

1
$ctx = xpath_new_context($doc); 
$xpath_nodes = xpath_eval($ctx, "//some_element"); 
+1

Ceci est une excellente solution, mais il suppose que le développeur a écrit xml conforme et bien formé pour leur sortie HTML, ce que j'ai trouvé est rarement le cas sauf s'il y a une application stricte dans le cycle de développement (ce qui est rare) . –

+1

J'avais l'habitude d'exécuter le mauvais code par l'extension ranger. Problème résolu. –

0

Vous pouvez utiliser le javascript côté serveur. Je ne l'ai pas encore fait moi-même.