0

I have this code

<div data-slide-id="zoom" class="overview active" data-lazy-background="" style="background-image: url(&quot;https://dy9ihb9itgy3g.cloudfront.net/products/1183/d8066/d8066____black1-r.740.jpg&quot;);">
    <a class="MagicZoom" id="magiczoom-plus" data-options="lazyZoom: true" href="https://dy9ihb9itgy3g.cloudfront.net/products/1183/d8066/d8066____black1-r.2000.jpg">

        <figure class="mz-figure mz-hover-zoom mz-inner-zoom mz-ready" style="transform: translate3d(0px, 0px, 0px);">

           <div class="mz-lens" style="top: 0px; transform: translate(-10000px, -10000px); width: 142px; height: 220px;">
                <img src="https://dy9ihb9itgy3g.cloudfront.net/products/1183/d8066/d8066____black1-r.740.jpg" style="position: absolute; top: 0px; left: 0px; width: 532px; height: 765px;">
           </div>

           <div class="mz-loading"></div>

           <img src="https://dy9ihb9itgy3g.cloudfront.net/products/1183/d8066/d8066____black1-r.740.jpg" style="max-width: 740px; max-height: 987px;">

        </figure>

   </a>

</div>

and I want to get the content in href? what can i do? i write this code but it doesnt work.

preg_match('#<div(.*)class="overview active"><a(.*)href="(.*?)">#', $data, $name);

1 Answer 1

3

I find the DOMDocument() class handles this elegantly. This snippet of code should help you (put the entire html tag including the div wrapper in the $tag variable):

$d = new DOMDocument();
$d->loadHTML($tag);
$a = $d->getElementByTagName('a');
$href = $a->item(0)->getAttribute('href');

The $hrefvariable will have the attribute value of href.

1

Not the answer you're looking for? Browse other questions tagged or ask your own question.