<?php
$html = <<< EOF
<a href="www.site.com/document.pdf"><img src="../images/image.jpg" /></a>
<img src="../images/image1.jpg" />
<a href="www.site.com/document.txt"><IMG src="../images/image2.jpg" /></a>
<a href="www.site.com/document.doc"><img src="../images/image3.jpg" /></a>
<a href="www.site.com/document1.pdf">My PDF</a>
EOF ;
$doc = new DOMDocument( ) ;
$doc -> loadHTML ( $html ) ; // loads your html
$nodeList = $doc -> getElementsByTagName ( 'a' ) ;
for ( $i = 0 ; $i < $nodeList -> length ; $i ++ ) {
$node = $nodeList -> item ( $i ) ;
$children = $node -> childNodes ;
$hasImage = false ;
foreach ( $children as $child ) {
if ( $child -> nodeName == 'img' ) {
$hasImage = true ;
break ;
}
}
if ( ! $hasImage )
continue ;
if ( $node -> hasAttributes ( ) )
foreach ( $node -> attributes as $attr ) {
$name = $attr -> nodeName ;
$value = $attr -> nodeValue ;
if ( $attr -> nodeName == 'href' && preg_match ( '/\.(doc|pdf)$/i' , $attr -> nodeValue ) ) echo $attr -> nodeValue . " - Image is wrapped in a link to a PDF or DOC file\n " ;
}
}
?>
PD9waHAKJGh0bWwgPSA8PDwgRU9GCjxhIGhyZWY9Ind3dy5zaXRlLmNvbS9kb2N1bWVudC5wZGYiPjxpbWcgc3JjPSIuLi9pbWFnZXMvaW1hZ2UuanBnIiAvPjwvYT4KPGltZyBzcmM9Ii4uL2ltYWdlcy9pbWFnZTEuanBnIiAvPgo8YSBocmVmPSJ3d3cuc2l0ZS5jb20vZG9jdW1lbnQudHh0Ij48SU1HIHNyYz0iLi4vaW1hZ2VzL2ltYWdlMi5qcGciIC8+PC9hPgo8YSBocmVmPSJ3d3cuc2l0ZS5jb20vZG9jdW1lbnQuZG9jIj48aW1nIHNyYz0iLi4vaW1hZ2VzL2ltYWdlMy5qcGciIC8+PC9hPgo8YSBocmVmPSJ3d3cuc2l0ZS5jb20vZG9jdW1lbnQxLnBkZiI+TXkgUERGPC9hPgpFT0Y7CiRkb2MgPSBuZXcgRE9NRG9jdW1lbnQoKTsKbGlieG1sX3VzZV9pbnRlcm5hbF9lcnJvcnModHJ1ZSk7CiRkb2MtPmxvYWRIVE1MKCRodG1sKTsgLy8gbG9hZHMgeW91ciBodG1sCiRub2RlTGlzdCA9ICRkb2MtPmdldEVsZW1lbnRzQnlUYWdOYW1lKCdhJyk7CmZvcigkaT0wOyAkaSA8ICRub2RlTGlzdC0+bGVuZ3RoOyAkaSsrKSB7CiAgICAkbm9kZSA9ICRub2RlTGlzdC0+aXRlbSgkaSk7CiAgICAkY2hpbGRyZW4gPSAkbm9kZS0+Y2hpbGROb2RlczsgCiAgICAkaGFzSW1hZ2UgPSBmYWxzZTsKICAgIGZvcmVhY2ggKCRjaGlsZHJlbiBhcyAkY2hpbGQpIHsgCiAgICAgICBpZiAoJGNoaWxkLT5ub2RlTmFtZSA9PSAnaW1nJykgewogICAgICAgICAgJGhhc0ltYWdlID0gdHJ1ZTsKICAgICAgICAgIGJyZWFrOwogICAgICAgfQogICAgfQogICAgaWYgKCEkaGFzSW1hZ2UpCiAgICAgICBjb250aW51ZTsKICAgIGlmICgkbm9kZS0+aGFzQXR0cmlidXRlcygpKQogICAgICAgZm9yZWFjaCAoJG5vZGUtPmF0dHJpYnV0ZXMgYXMgJGF0dHIpIHsKICAgICAgICAgICRuYW1lID0gJGF0dHItPm5vZGVOYW1lOwogICAgICAgICAgJHZhbHVlID0gJGF0dHItPm5vZGVWYWx1ZTsKICAgICAgICAgIGlmICggJGF0dHItPm5vZGVOYW1lID09ICdocmVmJyAmJiBwcmVnX21hdGNoKCcvXC4oZG9jfHBkZikkL2knLCAkYXR0ci0+bm9kZVZhbHVlKSApCiAgICAgICAgICAgICBlY2hvICRhdHRyLT5ub2RlVmFsdWUgLiAiIC0gSW1hZ2UgaXMgd3JhcHBlZCBpbiBhIGxpbmsgdG8gYSBQREYgb3IgRE9DIGZpbGVcbiI7CiAgICAgICB9Cn0JCj8+