PHP CSS Seçici Kütüphane?

7 Cevap php

Beni CSS seçiciler bir XHTML dökümanını sorgulamak için izin verecek bir PHP sınıfı / kütüphane var mı? Ben bir şekilde (jQuery bana şımarık!) CSS seçicileri kullanabilirsiniz eğer çok kolayca erişilebilir veri için bazı sayfaları kazımak gerekir. Herhangi bir fikir?

7 Cevap

Ayrıca Googling sonra bunun için bir Zend Framework kitaplığındaki bazı diğerleri ile birlikte, aslında var gibi görünüyor (ilk sonuçlar çok yararlı değil):

XPath XML (ve XHTML) düğümleri erişmek için oldukça standart bir yoldur, ve CSS çok daha fazla kesinlik sağlar.

jQuery kullanıcılar için en ilginç / phpQuery tüm sitenin yolunu Kazıma Web için kullanılabilir . Almost all sections of the library are ported. Additionally it contains WebBrowser eklenti, hangi, port of jQuery to PHP olabilir süreçler (örneğin giriş yaptıktan sonra mevcut veri erişim). Bu sadece sunucu (çok olaylar ve çerezleri) web tarayıcısı simüle. Son sürümleri namespaces, XML için deneysel destek vardır ve CSS3 "|" seçici .

Büyük bir symfony 2 bir bileşenidir, CssSelector\Parser­Introduction . Bu XPath ifadeleri içine CSS seçicileri dönüştürür. Bir göz atın =)

Source code

I PHP Query Lite, çok basit ve tüm ihtiyacım var kullanarak sona erdi.

Ben Mootools CSS seçici motoru dayalı yazdım http://selectors.svn.exyks.org/. Bu SimpleXML uzatma yeteneğine güveniyor (yani, bu salt okunur)

Belge ayrıştırma için ben kullanmak DOM. Eğer (bu örnekte "div" in) etiket adını biliyorsanız, bu oldukça kolay sorununuzu çözebilir:

 $doc = new DOMDocument();
 $doc->loadHTML($html);

 $elements = $doc->getElementsByTagName("div");
 foreach ($elements as $e){
  if ($e->getAttribute("class")!="someclass") continue;

  //its a div.classname
 }

DOM kez bir belgeye tüm unsurları almak sağlar emin ... bir ağaç kastetmek yapmak zorunda kalabilirsiniz değil.