PHP 中的高亮显示
可能的重复:
突出显示 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 也不会突出显示它。
我该如何解决这两件事?
Possible Duplicate:
highlighting search results in php/mysql
I am doing a search with a query, in MSSQL, like this:
SELECT ctext FROM Table WHERE ctext like '%filter%'
Then, I am wanting to highlight the hits with 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;
}
But, if the filter was 'Hello', and ctext contains 'hello', the SQL brings it, but php does not highlight it (I think it has to do with case sensitive)
And, If the filter was, 'hellos' and ctext contains 'hello', the SQL brings it, but php does not hightlight it either.
How can I solve this two things??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
首先,不应使用
chr(34)
,而应使用"\""
或'"'
。我建议不要使用str_replace
,而是使用preg_replace
,它允许您指定正则表达式模式。您可以使用i
修饰符使模式不区分大小写。示例:
CSS
PHP
还可以将模式和替换指定为数组。
First of all, instead of using
chr(34)
you should use"\""
or'"'
. I suggest that instead of usingstr_replace
you usepreg_replace
, which allows you to specify a regexp pattern. You can use thei
modifier to make the pattern case-insensitive.Example:
CSS
PHP
It is also possible to specify pattern and replacement as arrays.