From 0b49bff650a6afe28eadd333bb611dc38e91ecf1 Mon Sep 17 00:00:00 2001 From: LMR <59361885@qq.com> Date: Wed, 22 May 2024 09:46:32 +0800 Subject: [PATCH] yrdy --- application/controllers/infofix.php | 35 +++++++++++++++++------------ 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/application/controllers/infofix.php b/application/controllers/infofix.php index 6f78621c..79f6b570 100644 --- a/application/controllers/infofix.php +++ b/application/controllers/infofix.php @@ -13,33 +13,39 @@ class infofix extends CI_Controller $this->site_code = $this->input->get('site_code') ? $this->input->get('site_code') : $this->config->item('site_code'); } - function list_info_by_keys($site = '', $keys = []) + function list_info_by_keys() { - set_time_limit(300); - $site = 'cht'; - $keys = ['/beijing/', '/yangshuo/']; + // 防止超时 + header('Access-Control-Allow-Origin: *'); + set_time_limit(0); + + // json参数 + $site = $this->input->get_post('site'); + $keys = $this->input->get_post('keys'); + $keyArr = json_decode($keys, true); // 容错 - if (empty($site) || empty($keys)) { - echo json_encode( - array( - 'data' => [] - ) - ); + if (empty($site) || empty($keys) || strpos($keys, '/') === false) { + echo json_encode(array()); return false; } + + // 关键字信息 $rs = $this->Information_model->list_by_keywords($site, $keys); + + // 调整数据 foreach ($rs as $info) { $keycount = array(); - foreach ($keys as $key) { - $pos_url = stripos($info->ic_url, $key); - $sub_url = $info->ic_url == $key ? $info->ic_url : ''; + foreach ($keyArr as $key) { + // $info->ic_content = utf8_encode($info->ic_content); + // $info->ic_url = utf8_encode($info->ic_url); + $sub_url = $info->ic_url == $key ? $info->ic_url : ''; $pos_content = 0; $pos_content = stripos($info->ic_content, $key); $sub_content = array(); while ($pos_content) { - array_push($sub_content, '[...' . substr($info->ic_content, $pos_content - 20, strlen($key) + 20 * 2) . '...]'); + array_push($sub_content, '[...' . mb_substr($info->ic_content, $pos_content - 20, strlen($key) + 20 * 2) . '...]'); $pos_content = stripos($info->ic_content, $key, $pos_content + strlen($key)); } @@ -51,6 +57,7 @@ class infofix extends CI_Controller } echo json_encode($rs); + echo json_last_error_msg(); }