本文实例讲述了PHP限制HTML内容中图片必须是本站的方法。分享给大家供大家参考。具体实现方法如下:
1. PHP代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?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代码:
1
2
3
4
5
|
< 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. 运行结果:
1
2
3
4
|
[PASS] /image.jpg [PASS] http://yourdomain.com/image.jpg [PASS] http://www.yourdomain.com/image.jpg [FAIL] http://otherdomain.com/image.jpg |
希望本文所述对大家的php程序设计有所帮助。