突出显示从mysql查询Codeigniter返回的视图页面上的搜索关键字。

时间:2014-09-22 12:28:42

标签: php mysql codeigniter

我将搜索变量作为数组传递给查看文件,我在其中填充数据库中的列,如何在视图页面上的说明中突出显示某些搜索关键字。

//因为我的搜索关键字是“Android中的手机”。

//我的返回说明行是//“Android中有数百个手机。”

//如何突出手机和Android。

//从数据库返回的内容如何处理$ row ['desc'] preg_replace,str_replace尝试过,破坏了试过的单词,我替换尝试过的问题没解决。

我的模特:

public function anything($tbl){
        $this->db->select('*');
        $this->db->from($tbl);
        $query = $this->db->get();
        return $query->result_array();
    }

我的控制器:

$search = $this->input->get('search');
    $tbl = table;
    $data['search'] = $this->my_model->search($tbl, $search); //returned query 
    $this->load->view('search-view', $data);

查看档案

foreach ($search as $row) {
echo = $row['desc'];
}

1 个答案:

答案 0 :(得分:0)

你可以尝试一下..

<?php
   $phrase  = "There are hundreds of mobiles in android.";
   $keywords = array("mobiles", "android");
   $replacement = array("<b>MOBILES</b>", "<b>ANDROID</b>");
   $newphrase = str_replace($keywords, $replacement, $phrase);

   echo $newphrase;
?>

证明:http://sandbox.onlinephpfunctions.com/code/c28d9dfd718c921ef83a7a2ae3c922d70068d6d2

编辑:

我正在处理您的代码,因此上述解决方案可以适合您的代码。

假设$ row [&#39; desc&#39;]是短语,那么就像这样:

<?php
   $phrase  = $row['desc'];
   $keywords = array("mobiles", "android"); // or you could do the following
   $keywords = explode(" ", $this->input->post('keywords'); // Or whatever value it is from POST

   $replacement = array("<b>MOBILES</b>", "<b>ANDROID</b>"); // I over simplify things here.
   $newphrase = str_replace($keywords, $replacement, $phrase);

   echo $newphrase;
?>