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


Posted in PHP onJune 16, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP 字符串 小常识
Jun 05 PHP
php 将bmp图片转为jpg等其他任意格式的图片
Jun 21 PHP
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 PHP
9个经典的PHP代码片段分享
Dec 18 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
PHP7 新特性详细介绍
Sep 06 PHP
微信自定义分享php代码分析
Nov 24 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 PHP
php中钩子(hook)的原理与简单应用demo示例
Sep 03 PHP
php采集中国代理服务器网的方法
Jun 16 #PHP
分享php分页的功能模块
Jun 16 #PHP
PHP生成plist数据的方法
Jun 16 #PHP
php动态绑定变量的用法
Jun 16 #PHP
php实现在服务器端调整图片大小的方法
Jun 16 #PHP
PHP正则验证Email的方法
Jun 15 #PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 #PHP
You might like
长波有什么东西
2021/03/01 无线电
PHP文件注释标记及规范小结
2012/04/01 PHP
PHP爆绝对路径方法收集整理
2012/09/17 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP正则表达式 /i, /is, /s, /isU等介绍
2014/10/23 PHP
php实现检查文章是否被百度收录
2015/01/27 PHP
thinkPHP+ajax实现统计页面pv浏览量的方法
2017/03/15 PHP
Jquery遍历checkbox获取选中项value值的方法
2014/02/13 Javascript
JS中getYear()和getFullYear()区别分析
2014/07/04 Javascript
JavaScript 变量、作用域及内存
2015/04/08 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
浅谈es6中export和export default的作用及区别
2018/02/07 Javascript
在小程序Canvas中使用measureText的方法示例
2018/10/19 Javascript
nodejs中实现修改用户路由功能
2019/05/24 NodeJs
微信小程序实现一个简单swiper代码实例
2019/12/30 Javascript
[26:50]2018完美盛典DOTA2表演赛
2018/12/17 DOTA
使用Python脚本生成随机IP的简单方法
2015/07/30 Python
Python中遍历字典过程中更改元素导致异常的解决方法
2016/05/12 Python
python儿童学游戏编程知识点总结
2019/06/03 Python
Python Sphinx使用实例及问题解决
2020/01/17 Python
关于python中导入文件到list的问题
2020/10/31 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
python遍历路径破解表单的示例
2020/11/21 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
Oasis服装官网:时尚女装在线
2020/07/09 全球购物
法学专业毕业生自荐信范文
2013/12/18 职场文书
英语感恩演讲稿
2014/01/14 职场文书
入党积极分子介绍信
2014/01/17 职场文书
中国央视网签名寄语
2014/01/18 职场文书
高中体育教学反思
2014/01/24 职场文书
公益广告语集锦
2014/03/13 职场文书
体育运动口号
2014/06/09 职场文书
食品安全汇报材料
2014/08/18 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
公司安全管理制度范本
2015/08/05 职场文书