探讨PHP实现站内搜索引擎的具体方法
我们在实际的编码中,可以利用PHP提供的应用程序来实现我们的站内搜索引擎的搭建。下面我们将会把具体的实现代码贴上。我们可以将PHP实现站内搜索引擎做的稍微复杂一些:使用一个页面既输出一个表单供用户输入搜索字串又输出查询结果。
以下就是PHP实现站内搜索引擎的具体代码:
- <?
- include("include/common.inc");
- $title = "Search";
- include("include/header.inc");
- ?>
- <P>
- <FORM ACTION="<? echo "$PHP_SELF"; ?>" METHOD="POST">
- <INPUT TYPE="text" NAME="searchstr" value="<? echo "$searchstr"; ?>"
- SIZE="20" MAXLENGTH="30">
- <INPUT TYPE="submit" VALUE="Search!">
- </FORM>
- </P>
- <?
- if ( ! empty($searchstr) )
- {
- // empty()用来检查查询字串是否为空
- // 如果不为空,调用grep查询
- echo "<HR>\n";
- // 调用grep对所有文件进行大小写非敏感模式的查询
- $cmdstr = "grep -i $searchstr *";
- $fp = popen( $cmdstr, "r" ); // 执行命令并输出管道
- $myresult = array(); // 存储查询结果
- while( $buffer = fgetss ($fp, 4096))
- {
- // grep返回这样格式: 文件名:匹配字串出现行数
- // 因此我们利用函数split()分离处理数据
- list($fname, $fline) = split(":",$buffer, 2);
- // 我们只输出第一次匹配的结果
- if ( !defined($myresult[$fname]))
- $myresult[$fname] = $fline;
- }
- // 现在我们将结果存储在数组中,下面就可以处理并输出了
- if ( count($myresult) )
- {
- echo "<OL>\n";
- while(list($fname,$fline) = each($myresult))
- echo "<LI>
- <A HREF=\"$fname\">$fname</A> : $fline </LI>\n";
- echo "</OL>\n";
- }
- else
- {
- // 如果没有查询结果
- echo "Sorry. Search on <B>$searchstr</B>
- returned no results.<BR>\n";
- }
- pclose($fp);
- }
- ?>
- <?
- include("include/footer.inc");
- ?>
怎么样,通过对上面这段代码的理解,新手们是否已经掌握了PHP实现站内搜索引擎的具体方法呢?
探讨PHP实现站内搜索引擎的具体方法相关推荐
- 站内搜索引擎初探:haystack全文检索,whoosh搜索引擎,jieba中文分词
在做django项目当中,不免要使用到站内搜索引擎,网站呈现的内容除了列表,详细页,首页之外,用户也需要通过搜索引擎来找到自己需要的内容. 安装: pip install django-haystac ...
- 加入一个基于GOOGLE的站内搜索引擎
由于这一次的客户只能提供虚拟主机作为项目运行平台,无法搭配中文分词组件,原来自行开发的站内搜索引擎无法发挥最大的功效(主要是不能自动分析关键词,只能通过指定相关索引字段,以及手工输入TAG的机制来生成 ...
- 站内搜索引擎之比较〔转〕
有很多网站都在网页上加个"站内搜索引擎"."搜索引擎"."全文检索"等等相关字样. 用户一用,结果发现,既不能多关键组合查询,也不能支持国际 ...
- 王通:站内搜索引擎的SEO策略
越来越多的大中型网站都有了站内搜索引擎,站内搜索引擎如果采用正确的SEO策略,可以产生大量非常合理的关键词页面,可以在各大搜索引擎中带来巨大的流量.站内搜索引擎该如何SEO呢?很简单,只需要做好以下三 ...
- 用C++来设计开发的基于boost文档的站内搜索引擎项目,点赞收藏起来!
So Easy搜索引擎 项目描述 主要技术 项目特点 0. 准备工作 1. 预处理模块 2. 索引模块 3. 搜索模块 4. 服务器模块 项目难点和提升 结束语 项目描述 boost官网虽然提供了在线 ...
- 【项目】 基于BOOST的站内搜索引擎
目录 1. 简介 建立搜索引擎的宏观体系 技术栈和项目环境 正排索引 and 倒排索引 2. 数据去标签与数据清洗模块 -- Parser 数据去标签 parser.cc parser.cc 的代码结 ...
- 如何搭建一个站内搜索引擎(一) 第1章 写在最前
搜索引擎,对很多人来说,熟悉又陌生.熟悉,是因为每个人每天都能接触到,比如百度.google.淘宝内部搜索:陌生,是因为鲜有人了解他的原理. 因为工作需要,有幸参与负责了一个站内搜索的项目.所以可以从 ...
- 基于swiftype应用于Hexo-Yilia-主题的站内搜索引擎
本文基于Hexo,Yilia主题添加站内搜索功能与使用swiftype实现站内搜索 文章之前首先感谢以上两位作者YeHbeats与 huangjunhui swiftype Swiftype 可以为网 ...
- 使用 LayUI+SpringBoot+Solr 模仿百度、做站内搜索引擎
一.前言 全文检索于 sql 模糊查询,最大的区别,在于 ① 前者能将要查询的关键字符串先进行灵活分词,再进行匹配, ② 后者只会直接死板匹配. ③ 很多网站都有站内搜索,每个后台的应该会,故做了个 ...
- 百度 和 谷歌 的站内搜索引擎代码
网上曾有过两段Google和百度站内搜索的代码,如下(注意:代码中的"网站地址"要去掉http://) <!--Google站内搜索开始--> <form met ...
最新文章
- Redis cluster日常管理【二】
- 2020 6-7月 每日花语
- 【渝粤题库】陕西师范大学292969 会计学 作业 (专升本、高起本)
- 关于 VB,VC,Delphi,SDK 的笑话
- 福师《计算机应用基础》期末考试a卷数据是,2020年春福师《计算机应用基础》期末考试A卷附答案...
- Web前端开发解耦1
- Flutter进阶第13篇: 打开外部浏览器、打开外部应用、拨打电话、发送短信
- inventor牙距_10 INVENTOR螺纹特征,是否有何设置,可让螺纹类型默认为GB Metric
- 软件需求分析——UML用例图
- C++ stl库 手写 源码分析
- 兼具教育耐心和AI匠心,看「网易有道词典笔2.0」的变革者角色
- RT-Thread : STM32 系列外设驱动添加指南
- 计算机DSU,研科d5000dsu驱动
- BZOJ 3505: [Cqoi2014]数三角形 数学
- Nginx编译时error: assignment makes pointer from integer without a cast处理
- easyui教程 php,Easyui 创建子网格_EasyUI 教程
- 英特尔实感3D摄像头
- 老司机教你怎样下载电影
- 三本毕业后,选择了大数据开发职业
- python传递指针_python值传递和指针传递
热门文章
- 计算机与单片机串口程序,51单片机与电脑串口通信,并用数码管显示的两种方法...
- 开发一个 app 有多难?
- 鸿蒙系统反应慢,系统优化非常的关键 鸿蒙2.0和iOS14的反应速度测试
- 系统优化的基本思想点
- 灵长类动物手臂的计算模型:从手部位置到关节角度、关节扭矩和肌肉力
- Bugzilla的快速入门指南(全网最详细)
- ESP32学习实例(四),WIFI模块的初步学习和遇到的问题,以及解决方法
- firefox百度贴吧发不出表情的解决办法
- 交换机的Vlan技术 以及Vlan隔离和 端口隔离区别
- 一些用的上的在线网站