<BODY style='cursor:url(http:5211.91.tcimcur060.cur)'>怎么用到空间里

<BODY style='cursor:url(http:5211.91.tcimcur060.cur)'>怎么用到空间里,第1张

style='cursor:url(http://5211.91.tc/imcur/060.cur)'这个是CSS控制的鼠标样式。CSS是层叠样式表,你上面的这段代码就是CSS对BODY标签使用内联样式。

明代(公元1368-1644年),牡丹的栽培的中心,转移到了安徽亳州。夏之臣《评亳州牡丹》云:“吾亳州牡丹,年来浸盛,娇容三变,尤在季孟之间。等此而上,有天香一品,石榴红,胜娇容,宫红袍,琉璃贯珠,新红种种不一,杂红最后出,品种难得。又有大黄一种,轻腻可爱,不减三变。佛顶青为白色第一。大抵红花以花子红,银红、桃红为上。”又云:“草堂数武之步,种莳殆偏,率以两色并作一丛,红白异状,错综其间,又以平头紫,庆天香,先春红三色插入其花丛,间集而成文章,他时盛开灿然若锦”。此时开中国插花技术之先河。

在网站的根目录下建个search.htm,内容如下

<html>

<head>

<title>搜索表单</title>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

</head>

<body bgcolor="#FFFFFF" text="#000000">

<form name="form1" method="post" action="search.php">

<table width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width="36%">

<div align="center">

<input type="text" name="keyword">

</div>

</td>

<td width="64%">

<input type="submit" name="Submit" value="搜索">

</td>

</tr>

</table>

</form>

</body>

</html>

二,搜索程序

再在根目录下建个search.php 的文件,用来处理search.htm表单传过来的数据.内容如下

<?php

//获取搜索关键字

?$keyword=trim(?$_POST[“keyword”])

//检查是否为空

if(?$keyword==””){

echo”您要搜索的关键字不能为空”

exit//结束程序

}

?>

这样如果访问者输入的关键字为空时,可以做出提示。下面是遍历所有文件。

我们可以用递归的方法遍历所有的文件,可以用函数opendir,readdir,也可以用PHP Directory的类。我们现在用前者.

<?php

//遍历所有文件的函数

function listFiles(?$dir){

?$handle=opendir(?$dir)

while(false!==(?$file=readdir(?$handle))){

if(?$file!="."&&?$file!=".."){

//如果是目录就继续搜索

if(is_dir("?$dir/?$file")){

listFiles("?$dir/?$file")

}

else{

//在这里进行处理

}

}

}

}

?>

在红字的地方我们可以对搜索到的文件进行读取,处理.下面就是读取文件内容,并检查内容中是否含有关键字?$keyword,如果含有就把文件地址赋给一个数组。

<?php

//?$dir是搜索的目录,?$keyword是搜索的关键字 ,?$array是存放的数组

function listFiles(?$dir,?$keyword,&?$array){

?$handle=opendir(?$dir)

while(false!==(?$file=readdir(?$handle))){

if(?$file!="."&&?$file!=".."){

if(is_dir("?$dir/?$file")){

listFiles("?$dir/?$file",?$keyword,?$array)

}

else{

//读取文件内容

?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"))

//不搜索自身

if(?$file!=”search.php”){

//是否匹配

if(eregi("?$keyword",?$data)){

?$array[]="?$dir/?$file"

}

}

}

}

}

}

//定义数组?$array

?$array=array()

//执行函数

listFiles(".","php",?$array)

//打印搜索结果

foreach(?$array as ?$value){

echo "?$value"."<br>"

}

?>

现在把这个结果和开头的一段程序结合起来,输入一个关键字,然后就会发现你的网站中的相关结果都被搜索出来了。我们现在在把它完善一下。

1,列出内容的标题

if(eregi("?$keyword",?$data)){

?$array[]="?$dir/?$file"

}

改成

if(eregi("?$keyword",?$data)){

if(eregi("<title>(.+)</title>",?$data,?$m)){

?$title=?$m["1"]

}

else{

?$title="没有标题"

}

?$array[]="?$dir/?$file ?$title"

}

原理就是,如果在文件内容中找到<title>xxx</title>,那么就把xxx取出来作为标题,如果找不到那么就把标题命名未”没有标题”.

2,只搜索网页的内容的主题部分。

做网页时一定会有很多html代码在里面,而这些都不是我们想要搜索的,所以要去除它们。我现在用正则表达式和strip_tags的配合,并不能把所有的都去掉。

?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"))

//不搜索自身

if(?$file!=”search.php”){

//是否匹配

if(eregi("?$keyword",?$data)){

改为

?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"))

if(eregi("<body([^>]+)>(.+)</body>",?$data,?$b)){

?$body=strip_tags(?$b["2"])

}

else{

?$body=strip_tags(?$data)

}

if(?$file!="search.php"){

if(eregi("?$keyword",?$body)){

3,标题上加链接

foreach(?$array as ?$value){

echo "?$value"."<br>"

}

改成

foreach(?$array as ?$value){

//拆开

list(?$filedir,?$title)=split(“[ ]”,?$value,”2”)

//输出

echo "<a href=?$filedir>?$value</a>"."<br>"

}

4防止超时

如果文件比较多,那么防止PHP执行时间超时是必要的。可以在文件头加上

set_time_limit(“600”)

以秒为单位,所以上面是设10分钟为限。

所以完整的程序就是

<?php

set_time_limit("600")

//获取搜索关键字

?$keyword=trim(?$_POST["keyword"])

//检查是否为空

if(?$keyword==""){

echo"您要搜索的关键字不能为空"

exit//结束程序

}

function listFiles(?$dir,?$keyword,&?$array){

?$handle=opendir(?$dir)

while(false!==(?$file=readdir(?$handle))){

if(?$file!="."&&?$file!=".."){

if(is_dir("?$dir/?$file")){

listFiles("?$dir/?$file",?$keyword,?$array)

}

else{

?$data=fread(fopen("?$dir/?$file","r"),filesize("?$dir/?$file"))

if(eregi("<body([^>]+)>(.+)</body>",?$data,?$b)){

?$body=strip_tags(?$b["2"])

}

else{

?$body=strip_tags(?$data)

}

if(?$file!="search.php"){

if(eregi("?$keyword",?$body)){

if(eregi("<title>(.+)</title>",?$data,?$m)){

?$title=?$m["1"]

}

else{

?$title="没有标题"

}

?$array[]="?$dir/?$file ?$title"

}

}

}

}

}

}

?$array=array()

listFiles(".","?$keyword",?$array)

foreach(?$array as ?$value){

//拆开

list(?$filedir,?$title)=split("[ ]",?$value,"2")

//输出

echo "<a href=?$filedir target=_blank>?$title </a>"."<br>"

}

?>

到此为止,你已经做好了自己的一个搜索引擎,你也可以通过修改内容处理部分来改进它,可以实现搜索标题,或者搜索内容的功能。也可以考虑分页。这些都留给你自己吧。

这里说明一下用preg_match代替eregi,会快很多。这里只是为了通俗易懂,所以使用了常用的eregi.


欢迎分享,转载请注明来源:优选云

原文地址:https://54852.com/hy/605738.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

随机推荐

  • 什么品牌的口红防水不退色多少钱

    美国进口‖ Revlon 露华浓新款超级闪亮不脱色丝柔唇彩 8400元安娜苏春之圆舞曲-春季限量魔幻玫瑰口红3色供挑选18500元◆CHANEL香奈尔◆HYDRASOLEIL艳阳亮采口红专柜正品 -网络代理 18500元美国原装

    2023-12-14
    16300
  • 赫莲娜眼霜

    赫莲娜眼霜的净重一般在100克左右,每次涂抹的量两三克就可以了,只要把眼部周围的皮肤都顾及到,那么就可以等待精华的吸收。这款眼霜也有一些花香,让人们在静躺休息的时候闻到淡淡的清香也能带来心情的放松。这款眼霜的性价比也是非常高的,大家可以通过

    2023-12-14
    10400
  • 露得清防晒霜能用在脸上吗

    露得清防晒霜可以用在脸上。防晒霜一般都是用来擦脸上的,但是在涂抹防晒霜之前,需要先涂一层乳液或者面霜,尽量不要让防晒霜直接与皮肤接触。因为这样既可以给皮肤补充一些水分,还能减少防晒霜对皮肤的刺激。防晒霜涂抹的顺序:先清洁面部后,拍爽肤水→精

    2023-12-14
    8700
  • 意大利品牌歌丽诗最强效的美白祛斑霜怎样

    科学的祛斑方式并不是单一的祛斑方式,因为色斑的形成原因是多方面的。所以单方面的祛斑方式是不科学的。祛斑单单只依靠一种祛斑产品是不能够把色斑去除的,首先要分析身子色斑形成的具体原因,根据色斑形成的原因选择适合自己的祛斑方式和正规的祛斑产品才是

    2023-12-14
    9000
  • 万达化妆品集合店叫什么

    万达化妆品集合店有丝芙兰,屈臣氏,大商场的专柜,等等。每一家万达广场入驻的商家都不一样,具体要看是在哪里,一些比较繁华、一、二线的城市一般都有。入驻万达广场的大多是知名品牌,比如丝芙兰、屈臣氏、兰蔻、圣罗兰、SK2、呼吸、拱辰科颜氏等大牌化

    2023-12-14
    8500
  • 日化用品批发市场在哪里

    日化用品批发市场在哪里?日化用品批发市场在哪里主要如下:                                                                                北京天意化妆品批发市场、

    2023-12-14
    9900
  • 孕婴店加盟哪一家公司最好啊

    我在网上还找到了这样一篇文章,大家有耐心的不妨仔细看完,里面的情况发人深省: 在当今的中国,各形各色的骗局可以说是五花八门,数不胜数!抛开一些小的街头骗局,大型的骗术就有传销骗局,短信中奖骗局,信用卡中奖骗局,连锁加盟骗局等等! 如果我要是

    2023-12-14
    7700
  • 在线等,皮肤皮肤晒伤过后可以化妆吗

    下面是治疗晒伤肌肤的方法: 首先说说面部皮肤的护理 一:海边游泳后的皮肤护理 如果你在海边游泳后皮肤感到炽热疼痛,应该先用清水把皮肤清洗干净,因为海水的盐分会吸收皮肤的水分,使肌肤变得粗糙,所以要保有幼滑的皮肤,一定要彻底洗净身上的盐分。清

    2023-12-14
    7900
  • 男士脸上长痘用什么护肤品好

    用曼秀雷敦就可以。倩碧不适合你,虽然他是去油的。曼秀雷敦有收缩毛孔的。而且也是去痘痘的,没有反作用。屈臣氏超市就有,而且有BA会给你搭配讲解。有什么疑问,在问我吧。。。。。。。。呵呵■ 痘痘大多是由两个原因引起的,一个是因为皮肤属于油性皮肤

    2023-12-13
    8100

发表评论

登录后才能评论
保存