PHP restricts the images in HTML content to be from this site, _PHP Tutorial

WBOY
Release: 2016-07-12 08:59:25
Original
996 people have browsed it

PHP’s method of restricting images in HTML content to be from this site.

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'));
  }
}

Copy after login

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>

Copy after login

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

Copy after login

Reprinted from: http://www.aspnetjia.com

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1098927.htmlTechArticlePHP’s method of restricting the images in HTML content must be from this site. This article describes the example of PHP restricting the images in HTML content to be This is the method of this site. Share it with everyone for your reference. Specific implementation method...
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template