我有一个全静态网页的网站。现在想做一个站内搜索。。谁能帮帮忙啊。。现在有四个搜索引擎程序文件。谁帮帮忙该怎样用这四个文件呢?
文件1:config.php
<?
//------------你要建立索引的目录,这里用对于本程序的相对中径来表示,例如全站索引,则用"../"表示-------------
$basepath = "../";
$conn = mysql_connect("localhost","","");
mysql_select_db("dede");
//-----------中文字符截取-----------------------------------------=--
function cn_substr($str,$start,$len)
{
if(strlen($str) > $len)
{
for($i=0;$i<$start+$len-2;$i++)
{
$tmpstr =(ord($str[$i])>127)?$str[$i].$str[++$i]:$str[$i];
if ($i>=$start) $tmp .= $tmpstr;
}
return $tmp.'…';
}
else {
return $str;
}
}
?>
文件:2 inc_listpage.php
<?
/*----分页列表输出函数------------------------------------
$get_var 页面链接
$total_record 总记录数
$page_size 每页记录数 (可选,默认为20)
$list_len 列表长度 (可选,默认为5,实际长度为 $list_len*2+1)
例:get_page_list("inc_page_list.php",323,7,5);
---------------------------------------------------------*/
function get_page_list($get_var,$total_record,$page_size=20,$list_len=5)
{
global $page;
if($total_record!=0){
if(!ereg("/?",$get_var)) $get_var.="?tag=0";
if($page=="") $page=1;
if($total_record%$page_size!=0)
$total_page=ceil($total_record/$page_size);
else
$total_page=$total_record/$page_size;
$prepage = $page-1;
$nextpage = $page+1;
echo "共".$total_record."条记录 ".$page."/".$total_page."页 ";
if($prepage>0){
echo "<a href='".$get_var."&total_record=".$total_record."'>首页</a>/r/n";
echo "<a href='".$get_var."&total_record=".$total_record."&page=".$prepage."'>上一页</a>/r/n";
}
$total_list = $list_len * 2 + 1;
if($page>=$total_list)
{
$i=$page-$list_len;
$total_list=$page+$list_len;
if($total_list>$total_page) $total_list=$total_page;
}
else
{
$i=1;
if($total_list>$total_page) $total_list=$total_page;
}
for($i;$i<=$total_list;$i++)
{
if($i==$page) echo "$i ";
else echo "<a href='".$get_var."&total_record=".$total_record."&page=".$i."'>[".$i."]</a>/r/n";
}
if($nextpage<=$total_page){
echo "<a href='".$get_var."&page=".$nextpage."&total_record=".$total_record."'>下一页</a>/r/n";
echo "<a href='".$get_var."&total_record=".$total_record."&page=".$total_page."'>未页</a>/r/n";
}
}
else
{
echo "没任何记录!";
}
}
/*-----------------------计算总页数--------------------------*/
function get_total_page($total_record,$page_size)
{
return ceil($total_record/$page_size);
}
/*---------------get_limit,返回mysql分页查询时的 limit 条件-----*/
function get_limit($page_size)
{
global $page;
if($page=="") $page=1;
$limit_start = ($page-1)*$page_size;
return " limit ".$limit_start.",".$page_size." ";
}
?>
文件:3 par-web.php
<?
require("config.php");
/*------------创建用于保存全站索引的数据表-----------*/
$maketable = "
CREATE TABLE `weball` (
`ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`title` VARCHAR(100) NOT NULL,
`keyword` TEXT NOT NULL,
`filename` VARCHAR(250) NOT NULL,
`dtime` DATETIME NOT NULL
);
";
@mysql_query($maketable,$conn);
mysql_query("Delete From weball",$conn);
$pweb = new ParWeb();
$pweb->conn = $conn;
//$pweb->path = $basepath;
$pweb->Doing($basepath);
//----------------------------------------------------
mysql_close($conn);
/***********分析本站的html文件的类********************/
class ParWeb
{
var $conn;
function Doing($path)
{
$dh = dir($path);
while($filename=$dh->read())
{
if(!ereg("^/.",$filename))
{
$fullname = $path."/".$filename;
if(is_dir($fullname)) $this->Doing($fullname);
else
{
if(eregi("/.htm",$filename))
{
$fp = fopen($fullname,"r");
$str = fread($fp,filesize($fullname));
$tags = split(">",$str);
fclose($fp);
$filetime = filemtime($fullname);
$dtime = strftime("%y-%m-%d %H:%M:%S",$filetime);
$body = "";
$title = "";
$t=0;
$j=0;
foreach($tags as $tag)
{
$tag = ereg_replace("[/n/r/t]","",str_replace(" ","",$tag));
if($t==0)
{
if(eregi("<tit",$tag))
{
$title = eregi_replace("<(.*)$","",$tags[$j+1]);
$t=1;
}
}
if($t==1)
if(eregi("<body",$tag)) $t=2;
if($t==2&&$tag[0]!="<")
{
$body .= str_replace(" ","",ereg_replace("<(.*)$","",$tag));
}
$j++;
}
$webfilename = ereg_replace("^/.{2}","",$fullname);
if($title=="") $title = $webfilename;
mysql_query("Insert Into weball(title,keyword,filename,dtime) Values('$title','$body','$webfilename','$dtime')",$this->conn);
echo "$webfilename <br> $title ok<br>/n";
}
}
}
}
}
}
?>
文件:4 search.php
<?
require("inc_listpage.php");
require("config.php");
$pagesize=25;
$sql = "Select title,keyword,filename,dtime From weball where title like '%$keyword%' Or keyword like '%$keyword%'";
$sqlcount = "Select count(*) as dd From weball where title like '%$keyword%' Or keyword like '%$keyword%'";
$pageurl = "search.php?tag=1";
if($total_record=="")
{
$rs=mysql_query($sqlcount,$conn);
$row=mysql_fetch_object($rs);
$total_record = $row->dd;
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>搜索程序</title>
<style type="text/css">
<!--
td {
font-size: 10pt;line-height:160%
}
-->
</style>
</head>
<body>
<table width="700" border="0" align="center" cellpadding="0" cellspacing="0">
<form name="form1" method="get">
<tr>
<td height="27" align="center"><input name="keyword" type="text" id="keyword2" maxlength="20">
<input type="submit" name="Submit" value="全站搜索"></td>
</tr>
</form>
<tr>
<td><hr size="1"></td>
</tr>
<tr>
<td height="29">
<?
$sql .= " order by ID desc ".get_limit($pagesize);
if($total_record!=0)
{
$rs = mysql_query($sql,$conn);
while($row=mysql_fetch_object($rs))
{
$title = str_replace($keyword,"<font color='red'>$keyword</font>",$row->title);
$msg = $row->keyword;
$dtime = $row->dtime;
$filename = $row->filename;
@$start = strpos($keyword,$msg);
$mlen = strlen($msg);
if($mlen>450)
{
if($start>200) $msg = cn_substr($msg,$start-200,450);
else $msg = cn_substr($msg,0,450);
}
$msg = str_replace($keyword,"<font color='red'>$keyword</font>",$msg);
?>
<table width="96%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height="21"><a href='<?=$filename?>' style='font-size:11pt' target='_blank'><?=$title?></a></td>
</tr>
<tr>
<td>
<?=$msg?></td>
</tr>
<tr>
<td>文件位置:<?=$filename?></td>
</tr>
<tr>
<td height="6"></td>
</tr>
</table>
<?
}
}
?>
</td>
</tr>
<tr>
<td height="16" align="center">
<hr size="1"></td>
</tr>
<tr>
<td height="21" align="center">
<?
get_page_list($pageurl,$total_record,$pagesize);
?>
</td>
</tr>
<tr>
<td height="20" align="right" bgcolor="#F6F6F6"><font size="2"><a href="http://www.xdede.com" target="_blank" style="font-size:10pt">Dede
编织梦幻之旅</a></font> </td>
</tr>
</table>
</body>
</html>
<?
mysql_close($conn);
?>
请问怎样调用和修改的地方啊。。我每页htm这里<title>名</title>都改有名称。怎样才能更快更准的搜索出来呢??