忽略案例聪明取代大胆?

时间:2013-10-11 21:44:30

标签: php replace smarty explode bold

我有一个表单,用户可以在其中输入关键字或一组关键字。

让我说他输入了“美丽的花朵”。

数据库返回一些结果:
1.花儿很漂亮 红玫瑰和雏菊是美丽的花朵。

PHP:

$keyword = $_POST['keyword'];

// splits keywords.
$ExplodeKeywords = explode(" ", $keyword);
// assign keyword(s) to be bolded.
$tpl->assign('ExplodeKeywords', $ExplodeKeywords);

模板文件:

{$row.Text|replace:"`$ExplodeKeywords[0]`":"<b>`$ExplodeKeywords[0]`</b>"}

然而,只有在搜索中键入的确切单词才会加粗:

1.Flowers 漂亮。 2.红玫瑰和雏菊美丽

但是我希望它能够粗体化任何输入的单词(无论如何)。

1. 鲜花 漂亮 2.红玫瑰和雏菊美丽

我很困惑我必须做些什么来完成这项工作,如果我应该从PHP或模板文件中编程它。

1 个答案:

答案 0 :(得分:0)

在php中更容易做到:

$text_formated = preg_replace('/(' . implode('|',$ExplodeKeywords) . ')/gi', '<b>$1</b>', $text_orig);