2010-02-24 11 views
7

मैं तत्व की सभी विशेषता कैसे ले सकता हूं? नीचे दिए गए मेरे उदाहरण की तरह मैं केवल एक ही समय में एक प्राप्त कर सकता हूं, मैं सभी एंकर टैग की विशेषता को खींचना चाहता हूं।PHP: DomElement-> getAttribute

$dom = new DOMDocument(); 
@$dom->loadHTML(http://www.example.com); 

$a = $dom->getElementsByTagName("a"); 
echo $a->getAttribute('href'); 

धन्यवाद!

उत्तर

8

"प्रेरित" साइमन के जवाब से। मैं इसके बिना लगता है कि आप getAttribute कॉल काट सकते हैं, तो यहाँ एक समाधान है:

$attrs = array(); 
for ($i = 0; $i < $a->attributes->length; ++$i) { 
    $node = $a->attributes->item($i); 
    $attrs[$node->nodeName] = $node->nodeValue; 
} 
var_dump($attrs); 
+7

मुझे स्वीकार्य उत्तर लूट लगता है :) हालांकि अच्छी जगह है। – Simon

10
$length = $a->attributes->length; 
$attrs = array(); 
for ($i = 0; $i < $length; ++$i) { 
    $name = $a->attributes->item($i)->name; 
    $value = $a->getAttribute($name); 

    $attrs[$name] = $value; 
} 


print_r($attrs); 
1
$a = $dom->getElementsByTagName("a"); 
foreach($a as $element) 
{ 
    echo $element->getAttribute('href'); 
} 
+0

तो मैंने पढ़ा प्रश्न सही है, वह सभी तत्व के गुणों को चाहता है। सभी तत्वों से कोई अटूट नहीं है। – Simon

+0

ओह ... आप सही हैं, मेरे बुरे। – a1ex07