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 简单数组排序实现代码
Aug 05 PHP
PHP中其实也可以用方法链
Nov 10 PHP
php错误级别的设置方法
Jun 17 PHP
phpmailer中文乱码问题的解决方法
Apr 22 PHP
php按字符无乱码截取中文的方法
Mar 27 PHP
php array_merge函数使用需要注意的一个问题
Mar 30 PHP
Yii2.0 模态弹出框+ajax提交表单
May 22 PHP
php封装的mongodb操作类代码
Aug 06 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP实现的简单组词算法示例
Apr 10 PHP
使用swoole 定时器变更超时未支付订单状态的解决方案
Jul 24 PHP
PHP中关于php.ini参数优化详解
Feb 28 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
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
php合并js请求的例子
2013/11/01 PHP
PHP中生成UUID自定义函数分享
2015/06/10 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
2016/07/06 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
Jquery跳到页面指定位置的方法
2014/05/12 Javascript
jQuery常用操作方法及常用函数总结
2014/06/19 Javascript
jquery 获取 outerHtml 包含当前节点本身的代码
2014/10/30 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
JS简单计算器实例
2015/01/20 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
AngularJS 使用 UI Router 实现表单向导
2016/01/29 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
JS实现table表格内针对某列内容进行即时搜索筛选功能
2018/05/11 Javascript
微信小程序实现倒计时调用相机自动拍照功能
2018/06/10 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
[02:37]2018DOTA2亚洲邀请赛赛前采访 VP.no[o]ne心中最强SOLO是谁
2018/04/04 DOTA
python抓取网页中的图片示例
2014/02/28 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python numpy数组复制使用实例解析
2020/01/10 Python
python实现门限回归方式
2020/02/29 Python
python中使用paramiko模块并实现远程连接服务器执行上传下载功能
2020/02/29 Python
党校自我鉴定范文
2013/10/02 职场文书
银行职员思想汇报
2013/12/31 职场文书
竞聘书模板
2014/03/31 职场文书
党员政治学习材料
2014/05/14 职场文书
贪污检举信范文
2015/03/02 职场文书
学生病假条怎么写
2015/08/17 职场文书