<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

随机推荐

  • 泊莱雅化妆品怎么样

    珀莱雅适合什么年龄珀莱雅的护肤品运用海洋护肤理念,产品非常多样化,适合各个年龄层使用,只要是18岁以上的人群都可以使用。珀莱雅的护肤品分为很多个系列,每个系列的侧重点都不同,所以最适合的年龄层也不同,下面将为大家详细介绍各系列最适合的年龄层

    2023-12-14
    66000
  • 珀莱雅高端系列是哪款 珀莱雅高端系列怎么样

    珀莱雅虽说不属于高端品牌,但它也是有高端系列的,那么珀莱雅的高端系列哪款是的呢?珀莱雅的高端系列怎么样?珀莱雅高端系列是哪款珀莱雅目前有水漾芯肌系列、靓白芯肌系列、弹润芯肌系列、海洋防晒系列、面膜系列、水漾肌密系列、靓白肌密系列、紧

    2023-12-14
    15100
  • 大家了解过这方面的眼膜产品么

    香蒲丽眼膜,绿色和红色的区别香浦丽眼膜绿公主VS红参果:绿公主:祛黑眼圈、小细纹、镇定肌肤、法令纹、八角纹、下巴暗淡、保湿补水,会慢慢变薄的眼膜。️红参果:提亮眼部皮肤、紧致眼部、眼部早衰抗皱、促进血液循环、预防冷龄。女性最容易衰老的地方就

    2023-12-14
    19000
  • 淘宝网上的克丽缇娜是真的吗

    本人在克丽缇娜开卡颇有一段时间,如果对克丽缇娜有问题的姐妹可以问我,本人以亲身经历回答:)如果不老实回答,请大家拍砖! 下面也是我开贴的最终原因,呵呵本人因工作关系要离开上海,转让克丽缇娜美容卡一张,卡情况如下:卡账面价值为72

    2023-12-14
    13700
  • 大牌护肤品有哪些牌子

    品牌护肤品排名前五的品牌:雅诗兰黛、蓝海之谜LAMER、兰蔻兰蔻、香奈儿香奈儿、SK-II。雅诗兰黛作为全球最大的护肤、化妆品和香水公司之一,雅诗兰黛与其创始人同名。以其领先的技术和卓越的疗效,在世界范围内赢得了广泛的声誉。曾被誉为“

    2023-12-14
    11300
  • 思妍丽护肤品怎么样

    下面膜给大家介绍一下思妍丽的几款明星产品及它们的功效:DECLEOR思妍丽消炎去印修护霜——适合任何肌肤类型(特别适合黯淡及堵塞的皮肤)。Decleor思妍丽消炎去印修护霜,100%天然,适用于任何皮肤(特别适合黯淡及堵塞的皮肤),可镇静、

    2023-12-14
    11100
  • 一套护肤品有哪些

    包括;洗面奶、肌底液、眼霜、调理水、保湿乳、精华露、BB霜 、隔离霜 、防晒霜、面膜、眉笔、眼线笔、眼影、睫毛膏、假睫毛、双眼皮贴、定妆粉、腮红 、唇彩 、遮瑕笔等等;以下详细分类:化妆品:洗面奶、保湿水、乳液、日霜、晚霜、眼霜、眉笔、腮红

    2023-12-14
    12500
  • 婷美小屋和国际大牌的区别

    婷美小屋和国际大牌的区别是知名度。1、婷美小屋创立于2012年,隶属广州市娇兰化妆品有限公司旗下,是集研发,生产,营销于一体的化妆品零售连锁品牌。是中国化妆品单品牌店领导者。2、国际大牌在国际上宣传力度大,知名度高。还行。婷美小屋婷美小屋(

    2023-12-14
    12000
  • 我用美凯莲祛斑全套有一个星期了,脸开始脱皮有针扎般痛,是过敏了还是有副作用

    祛斑不但要使用具备正规备案的祛斑产品,内外结合 同时使用。而且还需要配合改善日常不健康的生活习惯,这样科学的祛斑效果才是最好的。祛斑单单只依靠一种祛斑产品是不能够把色斑去除的,首先要分析身子色斑形成的具体原因,根据色斑形成的原因选择适合自己

    2023-12-13
    12900

发表评论

登录后才能评论
保存