dede搜索引擎
1.dede模板中的html:
<form action="{dede:fieldname='phpurl'/}/search.php" name="formsearch">
<inputtype="hidden" name="kwtype" value="1">
<inputname="keyword" id="keyword" type="text" />
<selectname="searchtype" id="searchtype">
<optionvalue="titlekeyword"selected>智能模糊搜索</option>
<optionvalue="title">仅搜索标题</option>
</select>
<inputtype="image" src="{dede:fieldname='templeturl'/}/images/topsearch_submit.gif"/>
</form>
2.search.php代码:
require_once(dirname(__FILE__)."/../include/config_base.php");
require_once(dirname(__FILE__)."/../include/inc_arcsearch_view.php");
$timestamp = time();
$timelock = '../data/time.lock';
if($cfg_allsearch_limit < 1) $cfg_allsearch_limit =1;//cfg_allsearch_limit是网站全局搜索时间限制
if(file_exists($timelock))
{
if($timestamp - filemtime($timelock)< $cfg_allsearch_limit)
{
showmsg('服务器忙,请稍后搜索','-1');
exit();
}
}
@touch($timelock,$timestamp);
$channelid = isset($channelid) &&is_numeric($channelid) ? $channelid : 0;
$typeid = isset($typeid) &&is_numeric($typeid) ? $typeid : 0;
if($typeid>0) $channelid = 0;
if(!isset($searchtype)) $searchtype = '';
if($searchtype != 'titlekeyword') $searchtype = 'title';
$cacheid = isset($cacheid) &&is_numeric($cacheid) ? $cacheid : 0;
$kwtype = isset($kwtype) && $kwtype== 0 ? 0 : 1;
$keyword = htmlspecialchars(stripslashes($keyword));
$keyword = ereg_replace("[\"\r\n\t\*\?\(\)\$%']","",trim($keyword));
$keyword = addslashes($keyword);
if( ($cfg_notallowstr!='' &&eregi($cfg_notallowstr,$keyword)) || ($cfg_replacestr!=''&& eregi($cfg_replacestr,$keyword)))
{
echo "你的信息中存在非法内容,被系统禁止!<ahref='javascript:history.go(-1)'>[返回]</a>";exit();
}
if($keyword=='' || strlen($keyword) < 3 ||strlen($keyword) > 30)
{
ShowMsg("关键字长度必须要3-30字节之间!","-1");
exit();
}
$sp = newSearchView($typeid,$keyword,$channelid,$searchtype,$kwtype,$cacheid);
$sp->Display();
$sp->Close();
?>
3.touch函数:
语法:int touch(string filename, int [time]);
返回值:整数
函数种类:文件存取
内容说明 |
本函数可用来配置最后修改时间。若有指定参数time,则依指定的时间;若无指定时间,则为服务器的时间。和 UNIX 的同名指令一样,若文件不存在,则会建立 filename文件。成功则返回 true 值,其它失败时则返回 false。
4.StripSlashes(Stringstr)函数
语法:StripSlashes(Stringstr)
返回值:字符串
函数种类:资料处理
内容说明:本函数可以去掉字符串中的反斜线字符。若是连续两个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。
5.htmlspecialchars函数
语法:htmlspecialchars(string,quotestyle,character-set)
参数 | 描述 |
---|---|
string | 必需。规定要转换的字符串。 |
quotestyle |
可选。规定如何编码单引号和双引号。
|
character-set |
可选。字符串值,规定要使用的字符集。
|
例子
<html>
<body>
<?php
$str = "John & 'Adams'";
echo htmlspecialchars($str, ENT_COMPAT);
echo "<br />";
echo htmlspecialchars($str, ENT_QUOTES);
echo "<br />";
echo htmlspecialchars($str, ENT_NOQUOTES);
?>
</body>
</html>
浏览器输出:
John & 'Adams'
John & 'Adams'
John & 'Adams'
如果在浏览器中查看源代码,会看到这些HTML:
<html>
<body>
John & 'Adams'
John & 'Adams'
John & 'Adams'
</body>
</html>
dede搜索引擎的更多相关文章
- DEDE整站动态化或整站静态化设置方法,织梦栏目批量静态/动态方法
跟版网建站接到一个朋友提问,100多各栏目全部要从动态变成静态,里面的文章也要静态化,如何更快捷的设置dede的静态化或者动态化呢? 直接用DEDE后台的SQL命令行工具, SQL语句: DEDE整站 ...
- dede列表页分页地址优化(不同url相同内容问题解决)<转自http://www.966266.com>
<注明,完全转自http://www.966266.com/seoblog/?p=75> 存在问题 DEDE默认分类分页地址存在不同URL相同内容问题,导致内容重复,对SEO非常不利.情况 ...
- Browser设置搜索引擎
Browser设置搜索引擎,在com.android.browser.preferences.GeneralPreferencesFragment中加载R.xml.general_preference ...
- 关于将dede织梦data目录迁移出web目录
关于将dede织梦data目录迁移出web目录织梦官方提供了一个教程,但是如果你是按照他们提供的教程做的话会出现很多问题.比如验证码问题,图片显示问题等等一大堆.织梦官方这种是很不负责任的,因为那个教 ...
- DEDE整站动态化或整站静态化设置方法
简单说下的是,网站空间小而数据库还可以的话,使用动态浏览也是不错的,但是官方的程序默认的生成静态浏览的,只要一发布文章,就会自动生成静态页面,难道做发布文章还要一个一个去更改其他的设置吗?麻烦.对于采 ...
- DEDE网站地图优化技巧
DEDE网站地图优化技巧-把网站地图生成在系统根目录,利于搜索引擎收录相信恨多用DEDECMS做站的朋友,为避免将data目录内的东西随便外泄,在robots中将data目录屏蔽了,但是DEDE默认的 ...
- Livecoding.tv2.5发布,增加“用户搜索引擎”功能,方便用户找到匹配的程序员
近日,在Livecoding.tv最新发布的博客中,介绍了该平台2.5版的一系列新功能,其中的User Discovery Engine(用户搜索引擎)受到大家的欢迎.使用该引擎,可以很方便地查找在L ...
- Nutch搜索引擎(第1期)_ Nutch简介及安装
1.Nutch简介 Nutch是一个由Java实现的,开放源代码(open-source)的web搜索引擎.主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一 ...
- HTML <meta> 标签,搜索引擎
关于Mate标签的详尽解释,请查看w3school 网址为:http://www.w3school.com.cn/tags/tag_meta.asp meta标签作用 META标签是HTML标记HEA ...
随机推荐
- 在Installshield的安装进度中显示自己设置的信息
原文:在Installshield的安装进度中显示自己设置的信息 以Installscript msi project为例,在installshield所制作的安装包安装过程中显示安装进度的,就在On ...
- php 模拟POST提交的2种方法
1.通过curl函数 $post_data = array(); $post_data['clientname'] = "test08"; $post_data['clientpa ...
- OCP-1Z0-051-题目解析-第4题
4. Which two statements are true regarding single row functions? (Choose two.) A. They a ccept only ...
- 微软的权限框架Asp.Net Identity
Asp.Net Identity 深度解析 之 注册登录的扩展 关于权限每个系统都有自己的解决方案,今天我们来讨论一下微软的权限框架Asp.Net Identity ,介绍如下 http://w ...
- 【转】Android学习系列–App离线下载功能实现
原文:http://www.cnblogs.com/qianxudetianxia/archive/2011/07/20/2108965.html 宜未雨而绸缪,毋临渴而掘井.----朱用纯<治 ...
- 基于Jquery 简单实用的弹出提示框
基于Jquery 简单实用的弹出提示框 引言: 原生的 alert 样子看起来很粗暴,网上也有一大堆相关的插件,但是基本上都是大而全,仅仅几句话可以实现的东西,可能要引入好几十k的文件,所以话了点时间 ...
- Bootstrap面包屑导航
Bootstrap中提供了面包屑导航的实现方法: 只需要引入bootstrap.css文件即可. 主要引用的样式有: .span6 .breadcrumb 实例代码如下: <!DOCTYPE h ...
- wcf跨机器访问的问题
wcf跨机器访问的问题 在wcf跨机器的访问中遇到了各种无法访问的问题,本人也是在通过个人解决问题的基础上发表一下自己的经验,如果还有其他方面可能影响wcf跨机器的问题,还希望大家多多发言! 好了废话 ...
- C#多线程--仓库问题引发的故事
假设有这么个场景,一个仓库,里面有N件货物,现有六个搬运工(用线程模拟),其中2个向仓库放东西,4个往外搬东西.假设1秒能向里放2件货物,同时可向外搬3件货物(线程休眠),现在需要往里放M件货物,一旦 ...
- Tomcat7 Cluster 集群
Tomcat7 自带的集群功能是通过session复制完成的,现有两个复制方式: DeltaManager: 将session复制到所有tomcat节点中,不管是否有相应的应用(it will rep ...