【问题标题】:Highlight in PHP [duplicate]PHP中的高亮显示[重复]
【发布时间】:2010-07-02 14:22:04
【问题描述】:

可能重复:
highlighting search results in php/mysql

我正在使用 MSSQL 中的查询进行搜索,如下所示:

SELECT ctext FROM Table WHERE ctext like '%filter%'

然后,我想用 php 突出显示命中:

 function highlightme($str, $filter){
     $html = "<FONT style=".chr(34)."BACKGROUND-COLOR: yellow".
     chr(34).">".$filter."</FONT></P>";
     $buf = str_replace($filter,$html,$str);
     return $buf;
 }

但是,如果过滤器是'Hello',并且ctext包含'hello',SQL会带来它,但php不会突出它(我认为它与区分大小写有关) 并且,如果过滤器是 'hellos' 并且 ctext 包含 'hello',SQL 会带来它,但 php 也不会突出显示它。

这两件事我该如何解决??

【问题讨论】:

标签: php sql-server highlighting


【解决方案1】:

首先,您应该使用"\""'"',而不是使用chr(34)。我建议不要使用str_replace,而是使用preg_replace,它允许您指定正则表达式模式。您可以使用i 修饰符使模式不区分大小写。

例子:

CSS

.keyword {
    color: yellow;
}

PHP

$pattern = '#(hello)#i';
$replacement = '<span class="keyword">\1</span>';
$result = preg_replace($pattern, $replacement, $input);

还可以将模式和替换指定为数组。

【讨论】:

    猜你喜欢
    • 2012-04-27
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2014-10-20
    • 1970-01-01
    • 2013-12-04
    • 1970-01-01
    • 2011-12-13
    相关资源
    最近更新 更多