做个自己站内搜索引擎

阿文和4

阿文和4

2016-01-29 14:43

做个自己站内搜索引擎,做个自己站内搜索引擎
 

ccterran(原作)

作者:iwind

  朋友用dreamweaver做了一个网站,没有动态的内容,只是一些个人收藏的文章,个人介绍等等。现在内容比较多了,想叫我帮他做一个搜索引擎。说实在的,这是一个不难的问题,于是就随手做了一个。现在我在其它论坛上也看到有人想做这个,于是就想说说这方面的知识,重在了解一下方法。

写程序前先要想好一个思路,下面是我的思路,可能谁有更好的,但注意这只是一个方法问题 :遍历所有文件  读取内容  搜索关键字,如果匹配就放入一个数组  读数组。在实现这些步骤之前,我假定你的网页都是标准的,就是有标题(<title</title),也有(<bod *</body),如果你是用dreamweaver或者frontpage设计的,那么除非你故意删掉,它们都在存在的。下面就让我们一步步来完成并在工程中改善这个搜索引擎。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

一,设计搜索表单
在网站的根目录下建个search.htm,内容如下
<html
<head
<title搜索表单</title
<meta http-equiv="Content-Type" content="text/html; charset=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;//结束程序
}
?

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

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/php/)

我们可以用递归的方法遍历所有的文件,可以用函数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{
 

展开更多 50%)
分享

猜你喜欢

做个自己站内搜索引擎

PHP
做个自己站内搜索引擎

微软真人搜索引擎

平面设计 标志设计 UI设计 VI设计
微软真人搜索引擎

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

新春搜索引擎logo

平面设计 标志设计 UI设计 VI设计
新春搜索引擎logo

趣味搜索引擎大观

电脑网络
趣味搜索引擎大观

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

搜索引擎技术核心揭密

PHP
搜索引擎技术核心揭密

使用ASP建设私人搜索引擎

ASP
使用ASP建设私人搜索引擎

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

利用多个转储文件导出大量Oracle数据

利用多个转储文件导出大量Oracle数据

Flash5任意两点间随机画线(三)

Flash5任意两点间随机画线(三)
下拉加载更多内容 ↓