Html源文件中image标签的析取
今天介绍一种从指定网页源文件中析取image标签的的编程技巧,即从网页源文件中,解析出所有的插图文件名(包括图片路径),也就是标签<img src=".../... /abc.jpg"> 中的文件名".../.../abc.jpg"(有的可能是gif格式)。编程环境:PHP+Apache for Win98。 4Ow} r6E cL;`~ _&U ]
首先, 用文本编辑器新建一个PHP类型的文件:abstractSRCfrompage.php3。为了方便讲解,我们打算是在浏览器表单域中输入需要析取image标签的网页的URL(或本机文档),提交后执行析取操作,所以在该文件中,我们要建立一个用于输入网址的表单,举例如下: D^)jW!u3sg a-t
<form action=" abstractSRCfrompage.php3" method="post">2s4Fj%T n-f-K6|
输入网址<input type=text name=filename><br>:q;?-oJCK`Z
<input type=submit name=submit value="提交"> V/vQ4|j3g+`%j?
</form>
;j6I ZaOP;Xd
输入正确的网址,提交后表单信息被送到abstractSRCfrompage.php3页面,由于表单本身就在该页面,所以相当于被送到自身页面,下面我们需要编写析取处理的PHP代码,紧接着表单代码段后写入如下代码:uuRHN6L,K,G
'RNs*bek#o
u?%vfNL0fn$Q4v
<?phpa;oz!\s&Gy
if ($filename!=""){F1D kot;}}CYa6D
$fp = fopen($filename, "r"); file://若输入不为空,开启本地或者远程档案;4L5hj A4] wcTNr$\
while ($buffer = fgets($fp, 1024)) {
$source .=$buffer; }
fclose($fp);;Qr~[QJ%g cx
file://查找$source中是否有<img ...src=".../...gif | jpg"> 这样的标记
if(eregi("(<img)+[^<>]+(src=")+[^*"<>|]+(.)+((gif)|(jpg))+(")",$source)) {