<script language=javascript>alert('您的信息反馈已成功提交,感谢您的参与!');history.go(-1);<script

<script language=javascript>alert('您的信息反馈已成功提交,感谢您的参与!');history.go(-1);<script,第1张

用到这句话<script language=javascript>alert('您的信息反馈已成功提交,感谢您的参与!')history.go(-1)</script>的页面是不是其它页面跳转过来的啊..如果不是的那当然没有反应了..

b.html

<html>

<head>

<title>

</title>

</head>

<body>

<A HREF="1.html">home.htm</A>

</body>

</html>

1.html

<html>

<head>

<title>

</title>

</head>

<body>

<script language=javascript>

alert('您的信息反馈已成功提交,感谢您的参与!')

history.go(-1)

</script>

</body>

</html>

这两个文件在同一文件夹中..你运行b.html在里面单机home.htm 这个连接看看效果

无意中发现Access不能正常打开数据库文件,总报“未知”错误,

于是,解决之:

ACCESS打开表时出现“未知”错误提示解决方法 2006-09-20 15:15:12

大 中 小

解决方法:

关掉ACCESS,点击"开始"按钮->"运行" :

98, XP系统运行:

regsvr32.exe C:\WINDOWS\system32\msjtes40.dll

NT,2000系统运行:

regsvr32.exe C:\WINNT\system32\msjtes40.dll

症状描述:

原因:

Msjtes40.dll 没有被正确注册

症状重现:

为那些想体验我的痛苦的朋友,提供个重现效果的命令:

运行 regsvr32.exe /u C:\WINNT\system32\msjtes40.dll

以上命令,安全且可逆,放心试用。

说明:Msjtes40.dll 在你的机器上的路径可能不相同,如果你没用默认安装的话。

如果在以上路径找不到该文件,可到正常的机器上拷贝到相应目录,然后再注册即可。

在网站的根目录下建个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/736986.html

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

随机推荐

  • 想使用国货,有没有好的国货化妆品品牌,淘宝店铺推荐呢

    美康粉黛:国民彩妆的骄傲,我都不用怎么介绍大家就知道的一个品牌。同时,这也是一个十分适合学生党的彩妆品牌,简直不要太白菜价,两百元就可以搞定全一套,都是性价比又超级超级的高,我会无限回购的一家。AMY安美:这个品牌你们肯定都知道的,最近风靡

    2023-12-14
    24200
  • 注意答下推荐一款实惠好用的护手霜

    平价好用的护手霜在市面上很常见,品牌也是五花八门,相信很多姐妹都不知道该怎么挑选,作为一名多年的护肤达人,我接下来就分享给大家5款我觉得实惠好用的护手霜,姐妹们快快收藏!全是干货!一、欧舒丹马鞭草护手霜参考价格:55元30ml欧舒丹的护手

    2023-12-14
    25100
  • 国内护肤品排名前十名有哪些品牌

    国内护肤品排名前十名有:百雀羚、自然堂、佰草集、相宜本草、韩束、珀莱雅、欧诗漫、温碧泉、水密码、御泥坊。具体如下:1、百雀羚百雀羚是经典国产品牌,创立于1931年,主要以“专为东方女性肌肤研发”为理念,为消费者提供更好的产品,且作为经典的品

    2023-12-14
    14800
  • 施华洛世奇是怎么样与香奈儿合作的

    这是N年前的事,在上个世纪三十年代,施华洛世奇为香奈尔提供为裸晶,香奈尔用在自己的产品中,从此后,施华洛世奇找到了品牌合作的发展之路,上个世纪五十年代与迪奥合作的彩白色一直在水晶界视为“经典”之作,前年给阿玛妮研发的钻石树叶等。施华洛世奇每

    2023-12-14
    16000
  • 冬天手上生了冻疮,还能用护手霜嘛

    冻疮是一种发生于寒冷季节的末梢部位皮肤局限性、淤血性、红斑炎症性疾病。主要是末梢循环不好导致的,主要变现为肿胀,疼痛,升温后痒感明显。指导意见:护手霜主要是滋润皮肤,软化皮肤,对冻伤的软组织肿胀有一定的作用,因此,护

    2023-12-13
    22000
  • 用雪花秀清洁面膜脸会刺痛怎么回事

    ①首先应做好敷面前的皮肤准备,主要是彻底洁肤,或在按摩后以热毛巾敷面三分钟,使毛孔扩张后,再使用面膜,使用时用毛巾包住头发,显露面部。眉毛、睫毛等处最好先涂上面霜或橄榄油,因这些地方不能涂敷面膜。②将面膜用品涂在手指或软毛刷上,均匀的按颈部

    2023-12-13
    18500
  • 关于化妆品低中高档次的划分,请大家帮忙~

    我个人感觉给你分一下啊,是按综合分吧,因为像vov这种主要是彩妆,我只能给它分到抵挡的护肤品里面。低档:vov、美宝莲、妮维雅、曼秀雷敦中低:the face shop、skinfood、za、missha中档:欧莱雅、玫琳凯、薇姿、佰草集

    2023-12-13
    14900
  • 儿童彩妆品牌有哪些靠谱的

    我和你有同样的困扰。之前六一,外甥女要上台表演,老师给化了妆,那是第一次化妆。第二天就过敏了,心疼坏了。后来才知道,用的都是大人的化妆品,网上查询了一下,大人的化妆品又很多成分是对孩子皮肤有刺激性的,不能给孩子用。我们也吸取了教训,就找有没

    2023-12-13
    14800
  • 不含激素的十大化妆品

    不含激素的十大化妆品:1、雅诗兰黛眼影棒在不含激素的十大化妆品中,雅诗兰黛家的这款产品在市场上是相当受欢迎的,它给肌肤的提亮效果是很棒的,可以轻松让肌肤展现动人的光泽感,这款眼影的提亮效果真的不是盖的,很容易上手,而且用着也很舒服。2、伊丽

    2023-12-13
    16400

发表评论

登录后才能评论
保存