欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP限制HTML内容中图片必须是本站的方法

程序员文章站 2022-07-08 08:16:07
本文实例讲述了php限制html内容中图片必须是本站的方法。分享给大家供大家参考。具体实现方法如下: 1. php代码如下:

本文实例讲述了php限制html内容中图片必须是本站的方法。分享给大家供大家参考。具体实现方法如下:

1. php代码如下:

<?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. 测试html代码:

<p>lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p><img src="/image.jpg"></p>
<p><img src="http://yourdomain.com/image.jpg"></p>
<p><img src="http://www.yourdomain.com/image.jpg"></p>
<p><img src="http://otherdomain.com/image.jpg"></p>

3. 运行结果:

[pass] /image.jpg
[pass] http://yourdomain.com/image.jpg
[pass] http://www.yourdomain.com/image.jpg
[fail] http://otherdomain.com/image.jpg

希望本文所述对大家的php程序设计有所帮助。