<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

随机推荐

  • 适合妈妈用的护肤品牌

    适合妈妈们使用的护肤品,第一个就想到欧莱雅,品牌大,价格也不算昂贵。欧莱雅这款复颜抗皱紧致系列含有积雪草成分。对肌肤具有修护功能,使肌肤重回年轻光彩。长期坚持使用,是能够起到抗皱紧肤的效果的。日常给妈妈买上一套,也够用大半年了。你值得拥有!

    2023-12-14
    45000
  • 黛珂水乳霜液的使用顺序

    黛珂水乳霜精华液的使用顺序黛珂水乳霜精华液的使用顺序,不同的护肤品的使用方法和总是有所不同,黛珂是比较有名的一个护肤品牌,在生活中有很多人都会使用黛珂,下面分析黛珂水乳霜精华液的使用顺序黛珂水乳

    2023-12-14
    37800
  • lamer面霜多少容量

    lamer面霜有15ml、30ml、60ml、100ml这四个容量的规格。核心成分: 神奇活性精萃 MIRACLE BROTH™这款质地丰盈的面霜含有促使细胞更新的神奇活性精萃,全天保持肌肤水润,帮助舒缓干燥。舒缓敏感的迹象,如发红和刺激,

    2023-12-14
    30200
  • 国内哪个化妆品代加工公司好

    国内有许多化妆品代工公司还是不错的,和众多大牌都有合作,哪家公司好这还真没办法说,因为不同公司优势不一样,产品也有区别,要选择适合自己需求的才行。分享下考察化妆品代工厂要注意的几个点:交付效率大多品牌找化妆品oem代工其实是为了更快拿到产品

    2023-12-14
    20000
  • 怎么分辨淑美华化妆品真假

    一:看文字。在国内销售,应该使用规范的简体字,而不能使用繁体字或其他。字体的高度一般也有规定,不能小于18毫米。字体印刷清晰,不掉色。二:看是否有经销商。在国内销售,应该有相应的在华经销商进行产品的销售行为,查看后可以再查询经销商的相关信息

    2023-12-14
    28600
  • 郑州最大的化妆品批发代理商

    郑州最大的化妆品批发代理商?郑州最大的化妆品批发代理商如下:第一,网上找化妆品厂家如果知道具体想要的化妆品厂家,那么直接在网络上搜索化妆品厂家名称看看。部分厂家会有自己的网站,那就可以找到****。而没有具体目标的话,一些厂家也会在其他网站

    2023-12-14
    18400
  • 秋冬季节用那个牌子的化妆品补水美白

    个人推荐碧欧泉,因为很好用啊~每个人的肤质都不同,所以用各类护肤品的效果就会不同~碧欧泉的产品含有温泉精华,补水效果很好~碧家的产品真的很不错,有美白、青春、抗皱、除痘等等的系列,分类很细,选择很全面~ 资生堂家的AQUALABEL---水

    2023-12-13
    27300
  • 什么化妆品祛除眼袋效果好

    你好!最好用的就是去美容院手术。所有的化妆品都有个过程,你所看的广告说几天几天就没了,告诉你那是不太可能的,可能的话也有,你可想副作用有多大。就例如祛斑霜以用一个星期就去掉了,只要你不用马上反弹,而且会更严重。可以推荐你几个我用过的眼霜对眼

    2023-12-13
    27400
  • 麻烦给几个化妆品牌子的中文名字, 谢谢

    1 欧莱雅 法国欧莱雅公司(L`Oreal Groug) 法国 2 夏士莲 英国联合利华(Unilever) 英国 3 玉兰油 美国宝洁公司(The Procter & Gamble Co) 美国 4 资生堂 日本资生堂(Shise

    2023-12-13
    20300

发表评论

登录后才能评论
保存