2012-09-26 21 views
5

द्वारा छवि src पाने के लिए मैं इस है:कैसे वर्ग

<a href="/Dealer-Catalog/ManufacturerID-3"><img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg" onerror="this.src='/Content/Css/Images/no_brand_logo_120_48.gif'" alt="ADTRAN"></a> 

पाने के लिए img src (http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg)

मैं कोशिश का एक बहुत सोचता है कि यह पिछले एक था:

$doc = new DOMDocument(); 
libxml_use_internal_errors(true); 
$doc->loadHTML($html); 
$xpath = new DOMXPath($doc); 
$src = $xpath->evaluate("string(//class='brand-logo']/img/@src)"); 
echo "$src"; 

उत्तर

6

उचित XPath वाक्य रचना नहीं है यही कारण है कि। प्रयास करें

$nodes = $xpath->query("//img[@class='brand-logo']"); 
$src = $nodes->item(0)->getAttribute('src'); 

सबसे पहले आप नोड कि छवि जिसका src आप चाहते हैं का प्रतिनिधित्व करता है लाने, तो तुम src विशेषता मिलता है। ध्यान दें कि -> क्वेरी() कॉल एक DOMNodeList देता है, नोड नहीं।

+0

अभी भी काम नहीं कर रहा है –

+2

'$ नोड्स [0]' '$ nodes-> आइटम (0)' को बदलने का प्रयास करें? – nickb

+0

@nickb: हाँ, उस भाग को याद किया। जवाब तय है। धन्यवाद। –

0

xpath के साथ आप एक विशेषता सीधे क्वेरी कर सकता है, string() देना यह नोड मूल्य है:

$src = $xpath->evaluate("string(//img[@class='brand-logo']/@src)"); 

हालांकि मैं वास्तव में क्षमा कहना है कि मैं कोई सुराग नहीं कैसे कि में preg_match के साथ किया जा सकता है कर रहा हूँ अपने मामले;)

+0

मुझे इस तत्व को पेज cuz से प्राप्त करने के लिए preg_match की आवश्यकता है, वहां कई लिंक और छवियां हैं, लेकिन एनवीएम अब हल हो गया है, वैसे भी धन्यवाद :) –

3

इस

<?php 
    $html = '<a href="/Dealer-Catalog/ManufacturerID-3"> 
     <img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg" alt="ADTRAN" /> 
     </a>'; 

    $xml = simplexml_load_string($html); 
    echo $xml->img['src']; 
    ?> 
1

तरह की कोशिश करो इस

की तरह का प्रयास करें
<?php 
$doc=new DOMDocument(); 
$doc->loadHTML('<a href="/Dealer-Catalog/ManufacturerID-3"> 
     <img class="brand-logo" src="http://www.teledynamics.com/tdresources/74c42cb2-dc7f-4548-b820-2946fbe160db.jpg" alt="ADTRAN" /> 
     </a>'); 
$xml=simplexml_import_dom($doc); // just to make xpath more simple 
$images=$xml->xpath('//img'); 
foreach ($images as $img) { 
    echo $img['src']; 


}?>