This article describes the example of PHP’s method to restrict images in HTML content to be from this site. Share it with everyone for your reference. The specific implementation method is as follows:
1. The PHP code is as follows:
<?php $dom = new DOMDocument; $dom->loadHTML(file_get_contents('input.html')); $xpath = new DOMXpath($dom); $img = $xpath->query('//img'); foreach($img as $i) { $url = parse_url($i->getAttribute('src')); if(isset($url['host']) && in_array($url['host'], array('yourdomain.com', 'www.yourdomain.com')) == false) { // show an error // -- or -- // remove the tag: $i->parent->removeChild($i) echo sprintf('[FAIL] %s' . PHP_EOL, $i->getAttribute('src')); } else { echo sprintf('[PASS] %s' . PHP_EOL, $i->getAttribute('src')); } }
2. Test HTML code:
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> <p><img src="/image.jpg"></p> <p><img src="http://www.bkjia.com/uploads/allimg/160206/1559594622-0.jpg"></p> <p><img src="http://www.bkjia.com/uploads/allimg/160206/1559595506-1.jpg"></p> <p><img src="http://otherdomain.com/image.jpg"></p>
3. Running results:
[PASS] /image.jpg [PASS] http://www.bkjia.com/uploads/allimg/160206/1559594622-0.jpg [PASS] http://www.bkjia.com/uploads/allimg/160206/1559595506-1.jpg [FAIL] http://otherdomain.com/image.jpg
Reprinted from: http://www.aspnetjia.com