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 ...
随机推荐
- navicat连接oracle一个错误:ORA-12737 Instant Client Light:unsupported server character set ZHS16GBK
今天使用Navicat连接Oracle数据库.它报告了以下错误:"ORA-12737 Instant Client Light:unsupported server character se ...
- 让Windows 8 / 8.1 以及 Windows Server 2012 / 2012 R2的桌面,显示我的电脑图标
cmd -> 运行[rundll32.exe shell32.dll,Control_RunDLL desk.cpl,,0],然后勾上[我的电脑]即可.
- 使用 C# 进行 Outlook 2003 编程
原文:使用 C# 进行 Outlook 2003 编程 摘要: 本文介绍了 Microsoft Outlook 2003 对象模型介,并探讨了如何使用 C# 编程语言生成 Outlook 识别的应用程 ...
- Redis3
Redis到底该如何利用 上两篇受益匪浅,秉着趁热打铁,不挖到最深不罢休的精神,我决定追加这篇.上一篇里最后我有提到实现分级缓存管理应该是个可行的方案,因此今天特别实践了一下.不过缓存分级之后也发现了 ...
- leetcode[87] Partition List
题目:给定一个链表和一个数x,将链表中比x小的放在前面,其他的放在后头.例如: Given 1->4->3->2->5->2 and x = 3,return 1-> ...
- 【腾讯开源】Android性能测试工具APT使用指南
[腾讯开源]Android性能测试工具APT使用指南 2014-04-23 09:58 CSDN CODE 作者 CSDN CODE 17 7833 腾讯 apt 安卓 性能测试 开源 我们近日对腾讯 ...
- 使用winform控件注意线程绘制界面冲突
在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往 ...
- Jetbrains 系列神器
PRODUCTS IntelliJ IDEA ReSharper WebStorm PhpStorm PyCharm RubyMine AppCode YouTrack TeamCity dotTra ...
- Dirichlet's Theorem on Arithmetic Progression
poj3006 Dirichlet's Theorem on Arithmetic Progressions 很显然这是一题有关于素数的题目. 注意数据的范围,爆搜超时无误. 这里要用到筛选法求素数. ...
- Head first设计模式
使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...