{"id":31198,"date":"2024-11-25T16:25:53","date_gmt":"2024-11-25T08:25:53","guid":{"rendered":"https:\/\/fwq.ai\/blog\/31198\/"},"modified":"2024-11-25T16:25:53","modified_gmt":"2024-11-25T08:25:53","slug":"phpcms%e4%b8%8d%e9%99%90%e6%a8%a1%e5%9e%8b%e6%90%9c%e7%b4%a2%e7%9a%84%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/31198\/","title":{"rendered":"phpcms\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5"},"content":{"rendered":"<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/020\/5e3a253d67214468.jpg\" class=\"aligncenter\" title=\"phpcms\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5\u63d2\u56fe\" alt=\"phpcms\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5\u63d2\u56fe\" \/><\/p>\n<p>v9\u5168\u7ad9\u641c\u7d22,\u4e0d\u9650\u6a21\u578b\uff01<\/p>\n<p><strong>phpcms\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5<\/strong><\/p>\n<p>phpcmsv9\u5168\u7ad9\u641c\u7d22,\u4e0d\u9650\u6a21\u578b,\u4eca\u5929\u53c8\u6da8\u77e5\u8bc6\u4e86\u3002\u5927\u5bb6\u90fd\u77e5\u9053\uff0cphpcms\u641c\u7d22\u65f6\u6309\u7167\u6a21\u578b\u6765\u641c\u7d22\u7684\uff0c\u7528\u4e86\u8fd9\u4e2a\u65b9\u6cd5\u540e\uff0c\u5c31\u53ef\u4ee5\u5168\u7ad9\u641c\u7d22<\/p>\n<p>\u7b80\u5355\u4fee\u6539\u4e00\u4e0bv9\u9ed8\u8ba4\u7684\u641c\u7d22\u529f\u80fd\uff0c\u53ef\u4ee5\u4e0d\u6309\u6a21\u578b\u641c\u7d22\u5168\u7ad9\u5185\u5bb9&nbsp;<\/p>\n<p>\u4e0b\u9762\u662f\u88ab\u4fee\u6539\u540e\u7684search\u6a21\u5757\u4e2d\u7684index.php\u6587\u4ef6<\/p>\n<p><span>\u7acb\u5373\u5b66\u4e60<\/span>\u201c\u201d\uff1b<\/p>\n<pre>&lt;?php defined(&#039;IN_PHPCMS&#039;) or exit(&#039;No permission resources.&#039;);\npc_base::load_sys_class(&#039;form&#039;,&#039;&#039;,0);\npc_base::load_sys_class(&#039;format&#039;,&#039;&#039;,0);\nclass index {\n  function __construct() {\n    $this-&gt;db&nbsp;=&nbsp;pc_base::load_model('search_model');\n&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;content_db&nbsp;=&nbsp;pc_base::load_model('content_model');\n&nbsp;&nbsp;}\n&nbsp;&nbsp;\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u5173\u952e\u8bcd\u641c\u7d22\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;public&nbsp;function&nbsp;init()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6siteid\n&nbsp;&nbsp;&nbsp;&nbsp;$siteid&nbsp;=&nbsp;isset($_REQUEST['siteid'])&nbsp;&amp;amp;&amp;amp;&nbsp;trim($_REQUEST['siteid'])&nbsp;?&nbsp;intval($_REQUEST['siteid'])&nbsp;:&nbsp;1;\n&nbsp;&nbsp;&nbsp;&nbsp;$SEO&nbsp;=&nbsp;seo($siteid);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u641c\u7d22\u914d\u7f6e\n&nbsp;&nbsp;&nbsp;&nbsp;$search_setting&nbsp;=&nbsp;getcache('search');\n&nbsp;&nbsp;&nbsp;&nbsp;$setting&nbsp;=&nbsp;$search_setting[$siteid];\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;$search_model&nbsp;=&nbsp;getcache('search_model_'.$siteid);\n&nbsp;&nbsp;&nbsp;&nbsp;$type_module&nbsp;=&nbsp;getcache('type_module_'.$siteid);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;if(isset($_GET['q']))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(trim($_GET['q'])=='')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header('Location:&nbsp;'.APP_PATH.'index.php?m=search');exit;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$typeid&nbsp;=&nbsp;empty($_GET['typeid'])&nbsp;?&nbsp;0&nbsp;:&nbsp;intval($_GET['typeid']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$time&nbsp;=&nbsp;empty($_GET['time'])&nbsp;||&nbsp;!in_array($_GET['time'],array('all','day','month','year','week'))&nbsp;?&nbsp;'all'&nbsp;:&nbsp;trim($_GET['time']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page&nbsp;=&nbsp;isset($_GET['page'])&nbsp;?&nbsp;intval($_GET['page'])&nbsp;:&nbsp;1;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pagesize&nbsp;=&nbsp;10;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;safe_replace(trim($_GET['q']));\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;new_html_special_chars(strip_tags($q));\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;str_replace('%',&nbsp;'',&nbsp;$q);\/\/\u8fc7\u6ee4'%'\uff0c\u7528\u6237\u5168\u6587\u641c\u7d22\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_q&nbsp;=&nbsp;$q;\/\/\u641c\u7d22\u539f\u5185\u5bb9\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;$sql_tid&nbsp;=&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($typeid)&nbsp;$sql_tid&nbsp;=&nbsp;'&nbsp;AND&nbsp;typeid&nbsp;=&nbsp;'.$typeid;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6309\u65f6\u95f4\u641c\u7d22\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($time&nbsp;==&nbsp;'day')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_time&nbsp;=&nbsp;SYS_TIME&nbsp;-&nbsp;86400;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;'&nbsp;AND&nbsp;adddate&nbsp;&amp;gt;&nbsp;'.$search_time;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif($time&nbsp;==&nbsp;'week')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_time&nbsp;=&nbsp;SYS_TIME&nbsp;-&nbsp;604800;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;'&nbsp;AND&nbsp;adddate&nbsp;&amp;gt;&nbsp;'.$search_time;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif($time&nbsp;==&nbsp;'month')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_time&nbsp;=&nbsp;SYS_TIME&nbsp;-&nbsp;2592000;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;'&nbsp;AND&nbsp;adddate&nbsp;&amp;gt;&nbsp;'.$search_time;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;elseif($time&nbsp;==&nbsp;'year')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_time&nbsp;=&nbsp;SYS_TIME&nbsp;-&nbsp;31536000;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;'&nbsp;AND&nbsp;adddate&nbsp;&amp;gt;&nbsp;'.$search_time;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_time&nbsp;=&nbsp;0;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($page==1&nbsp;&amp;amp;&amp;amp;&nbsp;!$setting['sphinxenable'])&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u7cbe\u786e\u641c\u7d22\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$commend&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;get_one(\"`siteid`=&nbsp;'$siteid'&nbsp;$sql_tid&nbsp;$sql_time&nbsp;AND&nbsp;`data`&nbsp;like&nbsp;'%$q%'\");\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$commend&nbsp;=&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u5f00\u542fsphinx\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($setting['sphinxenable'])&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sphinx&nbsp;=&nbsp;pc_base::load_app_class('search_interface',&nbsp;'',&nbsp;0);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sphinx&nbsp;=&nbsp;new&nbsp;search_interface();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$offset&nbsp;=&nbsp;$pagesize*($page-1);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;$sphinx-&amp;gt;search($q,&nbsp;array($siteid),&nbsp;array($typeid),&nbsp;array($search_time,&nbsp;SYS_TIME),&nbsp;$offset,&nbsp;$pagesize,&nbsp;'@weight&nbsp;desc');\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$totalnums&nbsp;=&nbsp;$res['total'];\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u7ed3\u679c\u4e0d\u4e3a\u7a7a\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($res['matches']))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;$res['matches'];\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql&nbsp;=&nbsp;\"`siteid`=&nbsp;'$siteid'&nbsp;$sql_tid&nbsp;$sql_time&nbsp;AND&nbsp;`data`&nbsp;like&nbsp;'%$q%'\";\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$result&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;listinfo($sql,&nbsp;'searchid&nbsp;DESC',&nbsp;$page,&nbsp;10);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var_dump($result);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u7ed3\u679c\u4e0d\u4e3a\u7a7a\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($result)&nbsp;||&nbsp;!empty($commend['id']))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($result&nbsp;as&nbsp;$_v)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($_v['typeid'])&nbsp;$sids[$_v['typeid']][]&nbsp;=&nbsp;$_v['id'];\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($commend['id']))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($commend['typeid'])&nbsp;$sids[$commend['typeid']][]&nbsp;=&nbsp;$commend['id'];\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model_type_cache&nbsp;=&nbsp;getcache('type_model_'.$siteid,'search');\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$model_type_cache&nbsp;=&nbsp;array_flip($model_type_cache);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;array();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($sids&nbsp;as&nbsp;$_k=&amp;gt;$_val)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$tid&nbsp;=&nbsp;$_k;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ids&nbsp;=&nbsp;array_unique($_val);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$where&nbsp;=&nbsp;to_sqls($ids,&nbsp;'',&nbsp;'id');\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6\u6a21\u578bid\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$modelid&nbsp;=&nbsp;$model_type_cache[$tid];\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u662f\u5426\u8bfb\u53d6\u5176\u4ed6\u6a21\u5757\u63a5\u53e3\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($modelid)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;content_db-&amp;gt;set_model($modelid);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;\u5982\u679c\u8868\u540d\u4e3a\u7a7a\uff0c\u5219\u4e3a\u9ec4\u9875\u6a21\u578b\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(empty($this-&amp;gt;content_db-&amp;gt;model_tablename))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;content_db&nbsp;=&nbsp;pc_base::load_model('yp_content_model');\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;content_db-&amp;gt;set_model($modelid);\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$datas&nbsp;=&nbsp;$this-&amp;gt;content_db-&amp;gt;select($where,&nbsp;'*');\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;array_merge($data,$datas);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pages&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;pages;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$totalnums&nbsp;=&nbsp;$this-&amp;gt;db-&amp;gt;number;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5982\u679c\u5206\u8bcd\u7ed3\u679c\u4e3a\u7a7a\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!empty($segment_q))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$replace&nbsp;=&nbsp;explode('&nbsp;',&nbsp;$segment_q);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($replace&nbsp;as&nbsp;$replace_arr_v)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$replace_arr[]&nbsp;=&nbsp;&nbsp;'&lt;font&gt;'.$replace_arr_v.'&lt;\/font&gt;';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($data&nbsp;as&nbsp;$_k=&amp;gt;$_v)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data[$_k]['title']&nbsp;=&nbsp;str_replace($replace,&nbsp;$replace_arr,&nbsp;$_v['title']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data[$_k]['description']&nbsp;=&nbsp;str_replace($replace,&nbsp;$replace_arr,&nbsp;$_v['description']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;foreach($data&nbsp;as&nbsp;$_k=&amp;gt;$_v)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data[$_k]['title']&nbsp;=&nbsp;str_replace($q,&nbsp;'&lt;font&gt;'.$q.'&lt;\/font&gt;',&nbsp;$_v['title']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data[$_k]['description']&nbsp;=&nbsp;str_replace($q,&nbsp;'&lt;font&gt;'.$q.'&lt;\/font&gt;',&nbsp;$_v['description']);\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$execute_time&nbsp;=&nbsp;execute_time();\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pages&nbsp;=&nbsp;isset($pages)&nbsp;?&nbsp;$pages&nbsp;:&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$totalnums&nbsp;=&nbsp;isset($totalnums)&nbsp;?&nbsp;$totalnums&nbsp;:&nbsp;0;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$data&nbsp;=&nbsp;isset($data)&nbsp;?&nbsp;$data&nbsp;:&nbsp;'';\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includetemplate('search','list');\n&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;includetemplate('search','index');\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;\n&nbsp;&nbsp;public&nbsp;function&nbsp;public_get_suggest_keyword()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;$url&nbsp;=&nbsp;$_GET['url'].'&amp;amp;q='.$_GET['q'];\n&nbsp;&nbsp;&nbsp;&nbsp;$trust_url&nbsp;=&nbsp;array('c8430fcf851e85818b546addf5bc4dd3');\n&nbsp;&nbsp;&nbsp;&nbsp;$urm_md5&nbsp;=&nbsp;md5($url);\n&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(!in_array($urm_md5,&nbsp;$trust_url))&nbsp;exit;\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;@file_get_contents($url);\n&nbsp;&nbsp;&nbsp;&nbsp;if(CHARSET&nbsp;!=&nbsp;'gbk')&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$res&nbsp;=&nbsp;iconv('gbk',&nbsp;CHARSET,&nbsp;$res);\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$res;\n&nbsp;&nbsp;}\n&nbsp;&nbsp;\n&nbsp;&nbsp;\/**\n&nbsp;&nbsp;&nbsp;*&nbsp;\u63d0\u793a\u641c\u7d22\u63a5\u53e3\n&nbsp;&nbsp;&nbsp;*&nbsp;TODO&nbsp;\u6682\u65f6\u672a\u542f\u7528\uff0c\u7528\u7684\u662fgoogle\u7684\u63a5\u53e3\n&nbsp;&nbsp;&nbsp;*\/\n&nbsp;&nbsp;public&nbsp;function&nbsp;public_suggest_search()&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u5173\u952e\u8bcd\u8f6c\u6362\u4e3a\u62fc\u97f3\n&nbsp;&nbsp;&nbsp;&nbsp;pc_base::load_sys_func('iconv');\n&nbsp;&nbsp;&nbsp;&nbsp;$pinyin&nbsp;=&nbsp;gbk_to_pinyin($q);\n&nbsp;&nbsp;&nbsp;&nbsp;if(is_array($pinyin))&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pinyin&nbsp;=&nbsp;implode('',&nbsp;$pinyin);\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;keyword_db&nbsp;=&nbsp;pc_base::load_model('search_keyword_model');\n&nbsp;&nbsp;&nbsp;&nbsp;$suggest&nbsp;=&nbsp;$this-&amp;gt;keyword_db-&amp;gt;select(\"pinyin&nbsp;like&nbsp;'$pinyin%'\",&nbsp;'*',&nbsp;10,&nbsp;'searchnums&nbsp;DESC');\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;foreach($suggest&nbsp;as&nbsp;$v)&nbsp;{\n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$v['keyword'].\"\n\";\n&nbsp;&nbsp;&nbsp;&nbsp;}\n&nbsp;\n&nbsp;&nbsp;&nbsp;&nbsp;\n&nbsp;&nbsp;}\n}\n?&amp;gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u7136\u540e\u5728header.html\u6a21\u677f\uff08\u4e0d\u5728\u8fd9\u91cc\uff0c\u5c31\u5728\u5176\u4ed6\u7684\u641c\u7d22\u6846\u9875\u9762\uff09\u4e0a\u9762\u589e\u52a0\u4e00\u4e2a\u201c\u4e0d\u9650\u201d\u7684\u641c\u7d22\u6761\u4ef6\uff0c\u5c06typeid\u5bf9\u5e94\u7684\u503c\u4e3a0\uff0csearch\u4e2d\u7684index.html\u548clists.html\u4e5f\u505a\u76f8\u540c\u5904\u7406\uff0c\u6548\u679c\u5c31\u51fa\u6765\u90a3\uff0c\u8fd9\u6837\u53ea\u8981\u4e0d\u9009\u62e9\u6a21\u578b\u90a3\u4e48\u641c\u7d22\u51fa\u6765\u7684\u7ed3\u679c\u5c31\u662f\u6240\u6709\u6a21\u578b\u4e2d\u7b26\u5408\u6761\u4ef6\u7684\u6570\u636e\u3002<\/p>\n<p>PHP\u4e2d\u6587\u7f51\uff0c\u5927\u91cf\u7684\u514d\u8d39\uff0c\u6b22\u8fce\u5728\u7ebf\u5b66\u4e60\uff01<\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>v9\u5168\u7ad9\u641c\u7d22,\u4e0d\u9650\u6a21\u578b\uff01 phpcms\u4e0d\u9650\u6a21\u578b\u641c\u7d22\u7684\u8bbe\u7f6e\u65b9\u6cd5 phpcmsv9\u5168\u7ad9\u641c\u7d22,\u4e0d\u9650\u6a21\u578b,\u4eca\u5929\u53c8\u6da8\u77e5\u8bc6\u4e86\u3002\u5927\u5bb6\u90fd\u77e5\u9053\uff0cphpcms\u641c\u7d22\u65f6\u6309\u7167\u6a21\u578b\u6765\u641c\u7d22\u7684\uff0c\u7528\u4e86\u8fd9\u4e2a\u65b9\u6cd5\u540e\uff0c\u5c31\u53ef\u4ee5\u5168\u7ad9\u641c\u7d22 \u7b80\u5355\u4fee\u6539\u4e00\u4e0bv9\u9ed8\u8ba4\u7684\u641c\u7d22\u529f\u80fd\uff0c\u53ef\u4ee5\u4e0d\u6309\u6a21\u578b\u641c\u7d22\u5168\u7ad9\u5185\u5bb9&nbsp; \u4e0b\u9762\u662f\u88ab\u4fee\u6539\u540e\u7684search\u6a21\u5757\u4e2d\u7684index.php\u6587\u4ef6 \u7acb\u5373\u5b66\u4e60\u201c\u201d\uff1b &lt;?php defined(&#039;IN_PHPCMS&#039;) or exit(&#039;No permission resources.&#039;); pc_base::load_sys_class(&#039;form&#039;,&#039;&#039;,0); pc_base::load_sys_class(&#039;format&#039;,&#039;&#039;,0); class index { function __construct() { $this-&gt;db&nbsp;=&nbsp;pc_base::load_model(&#8216;search_model&#8217;); &nbsp;&nbsp;&nbsp;&nbsp;$this-&amp;gt;content_db&nbsp;=&nbsp;pc_base::load_model(&#8216;content_model&#8217;); &nbsp;&nbsp;} &nbsp;&nbsp; &nbsp;&nbsp;\/** &nbsp;&nbsp;&nbsp;*&nbsp;\u5173\u952e\u8bcd\u641c\u7d22 &nbsp;&nbsp;&nbsp;*\/ &nbsp;&nbsp;public&nbsp;function&nbsp;init()&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;\/\/\u83b7\u53d6siteid &nbsp;&nbsp;&nbsp;&nbsp;$siteid&nbsp;=&nbsp;isset($_REQUEST[&#8216;siteid&#8217;])&nbsp;&amp;amp;&amp;amp;&nbsp;trim($_REQUEST[&#8216;siteid&#8217;])&nbsp;?&nbsp;intval($_REQUEST[&#8216;siteid&#8217;])&nbsp;:&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;$SEO&nbsp;=&nbsp;seo($siteid); &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;\/\/\u641c\u7d22\u914d\u7f6e &nbsp;&nbsp;&nbsp;&nbsp;$search_setting&nbsp;=&nbsp;getcache(&#8216;search&#8217;); &nbsp;&nbsp;&nbsp;&nbsp;$setting&nbsp;=&nbsp;$search_setting[$siteid]; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$search_model&nbsp;=&nbsp;getcache(&#8216;search_model_&#8217;.$siteid); &nbsp;&nbsp;&nbsp;&nbsp;$type_module&nbsp;=&nbsp;getcache(&#8216;type_module_&#8217;.$siteid); &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;if(isset($_GET[&#8216;q&#8217;]))&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(trim($_GET[&#8216;q&#8217;])==&#8221;)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header(&#8216;Location:&nbsp;&#8216;.APP_PATH.&#8217;index.php?m=search&#8217;);exit; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$typeid&nbsp;=&nbsp;empty($_GET[&#8216;typeid&#8217;])&nbsp;?&nbsp;0&nbsp;:&nbsp;intval($_GET[&#8216;typeid&#8217;]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$time&nbsp;=&nbsp;empty($_GET[&#8216;time&#8217;])&nbsp;||&nbsp;!in_array($_GET[&#8216;time&#8217;],array(&#8216;all&#8217;,&#8217;day&#8217;,&#8217;month&#8217;,&#8217;year&#8217;,&#8217;week&#8217;))&nbsp;?&nbsp;&#8216;all&#8217;&nbsp;:&nbsp;trim($_GET[&#8216;time&#8217;]); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page&nbsp;=&nbsp;isset($_GET[&#8216;page&#8217;])&nbsp;?&nbsp;intval($_GET[&#8216;page&#8217;])&nbsp;:&nbsp;1; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pagesize&nbsp;=&nbsp;10; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;safe_replace(trim($_GET[&#8216;q&#8217;])); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;new_html_special_chars(strip_tags($q)); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$q&nbsp;=&nbsp;str_replace(&#8216;%&#8217;,&nbsp;&#8221;,&nbsp;$q);\/\/\u8fc7\u6ee4&#8217;%&#8217;\uff0c\u7528\u6237\u5168\u6587\u641c\u7d22 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$search_q&nbsp;=&nbsp;$q;\/\/\u641c\u7d22\u539f\u5185\u5bb9 &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$sql_time&nbsp;=&nbsp;$sql_tid&nbsp;=&nbsp;&#8221;; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($typeid)&nbsp;$sql_tid&nbsp;=&nbsp;&#8216;&nbsp;AND&nbsp;typeid&nbsp;=&nbsp;&#8216;.$typeid; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/\u6309\u65f6\u95f4\u641c\u7d22 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-31198","post","type-post","status-publish","format-standard","hentry","category-cms"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31198","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=31198"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31198\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=31198"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=31198"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=31198"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}