我将搜索变量作为数组传递给查看文件,我在其中填充数据库中的列,如何在视图页面上的说明中突出显示某些搜索关键字。
//因为我的搜索关键字是“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'];
}
答案 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;
?>