| How to extract values from html code using php?
|
Thaparian

msg:4409568 | 6:44 am on Jan 22, 2012 (gmt 0) | Hi, I need to extract link url and image url from a peace of html code. Sample HTML code
<a href="link to full size image"><img src="medium size image path here"/></a> Or
<img src="medium size image path here" alt ="" /> If a link is present, I need the full size image url, otherwise I need the medium size image path. This is the code that I made, but I think this is not the right way to get this done.
<?php $test="html code here"; $doc=new DOMDocument(); $doc->loadHTML("$test"); $xml=simplexml_import_dom($doc);
$images=$xml->xpath('//img');
foreach ($images as $img) {
$thumburl = $img['src']; }
$href = preg_match('/\shref="(?<href>[^"]+)"/', $test, $match);
if ($href!="") { $href = $match[1]; echo $href; } else { echo $thumburl; } ?> Please help.
|
brotherhood of LAN

msg:4409569 | 7:13 am on Jan 22, 2012 (gmt 0) | It looks like you can avoid using regex in this example. Try this code.
<?php $test="<a href=\"/path/to/somewhere\">test</a> <a href=\"/path/to/blah\"><img src=\"/path/to/image\" /></a>"; $doc=new DOMDocument(); $doc->loadHTML($test);
// Get all <a> tags $a = $doc->getElementsByTagName('a'); // Count of <a> tags $alen = $a->length; for($i = 0;$i < $alen;$i++) { // return href if it exists into $href if($a->item($i)->hasAttribute('href')) $href = $a->item($i)->getAttribute('href'); /* return src attribute of image into $src if 1) parent element is <a> 2) element is <img> 3) src attribute exists */ if($a->item($i)->haschildNodes() && $a->item($i)->firstChild->nodeName == 'img' && $a->item($i)->firstChild->hasAttribute('src')) $src = $a->item($i)->firstChild->getAttribute('src'); }
?> You'll need to replace the &;&; with && as the syntax highlighter has altered it.
|
|
|