zoukankan      html  css  js  c++  java
  • 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("[" *?()$%']","",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

    可选。规定如何编码单引号和双引号。

    • ENT_COMPAT -默认。仅编码双引号。
    • ENT_QUOTES -编码双引号和单引号。
    • ENT_NOQUOTES -不编码任何引号。
    character-set

    可选。字符串值,规定要使用的字符集。

    • ISO-8859-1 - 默认。西欧。
    • ISO-8859-15 - 西欧(增加 Euro符号以及法语、芬兰语字母)。
    • UTF-8 - ASCII 兼容多字节 8 比特Unicode
    • cp866 - DOS 专用 Cyrillic字符集
    • cp1251 - Windows 专用 Cyrillic字符集
    • cp1252 - Windows专用西欧字符集
    • KOI8-R - 俄语
    • GB2312 - 简体中文,国家标准字符集
    • BIG5 - 繁体中文
    • BIG5-HKSCS - Big5香港扩展
    • Shift_JIS - 日语
    • EUC-JP - 日语

    例子

    <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 &amp; 'Adams'
    John &amp; &#039;Adams&#039;
    John &amp; 'Adams'
    </body>
    </html>
  • 相关阅读:
    排行榜 和 zset
    SpringBoot使用@ServerEndpoint无法依赖注入问题解决(WebSocket
    idea 全局内容搜索和替换
    fiddler不能监听 localhost和 127.0.0.1的问题
    fiddle4 弱网测试
    nginx代理websocket连接上限
    spring boot Websocket
    SpringBoot----跨域配置
    注解@Slf4j的使用
    word 转 pfd
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3163090.html
Copyright © 2011-2022 走看看