本文实例讲述了php限制html内容中图片必须是本站的方法。分享给大家供大家参考。具体实现方法如下:
1. PHP代码如下:
立即学习“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代码:
立即学习“PHP免费学习笔记(深入)”;
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p><img src="/image.jpg" alt="PHP限制HTML内容中图片必须是本站的方法" ></p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/ai/731" title="v0.dev"><img
src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d7bb07edf422.png" alt="v0.dev" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/ai/731" title="v0.dev">v0.dev</a>
<p>Vercel推出的AI生成式UI工具,通过文本描述生成UI组件代码</p>
</div>
<a href="/ai/731" title="v0.dev" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div>
<p><img src="http://yourdomain.com/image.jpg" alt="PHP限制HTML内容中图片必须是本站的方法" ></p>
<p><img src="http://www.yourdomain.com/image.jpg" alt="PHP限制HTML内容中图片必须是本站的方法" ></p>
<p><img src="http://otherdomain.com/image.jpg" alt="PHP限制HTML内容中图片必须是本站的方法" ></p>
3. 运行结果:
立即学习“PHP免费学习笔记(深入)”;
[PASS] /image.jpg [PASS] http://yourdomain.com/image.jpg [PASS] http://www.yourdomain.com/image.jpg [FAIL] http://otherdomain.com/image.jpg
转载自:http://www.aspnetjia.com
以上就介绍了PHP限制HTML内容中图片必须是本站的方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。










