这是一个网站搜索脚本。如果我使用str_ireplace,则会改变搜索结果的大小写。例如,如果查询字符串是“搜索字符串”,并且找到包含“搜索字符串”的记录,则后者将丢失其大小写。任何方式在这个?如何在不改变大小写的情况下使用str_replace?
我需要合并搜索结果的突出显示。
问题是找不到字符串或突出显示。我可以使用str_ireplace来实现这一点。但是这会失去大写。我想要的是保持大写字母不变。
这是一个网站搜索脚本。如果我使用str_ireplace,则会改变搜索结果的大小写。例如,如果查询字符串是“搜索字符串”,并且找到包含“搜索字符串”的记录,则后者将丢失其大小写。任何方式在这个?如何在不改变大小写的情况下使用str_replace?
我需要合并搜索结果的突出显示。
问题是找不到字符串或突出显示。我可以使用str_ireplace来实现这一点。但是这会失去大写。我想要的是保持大写字母不变。
您可以使用preg_replace。
$haystack = 'Some text here.';
$str = preg_replace("#(.*)(text)(.*)#i", '\1<b>\2</b>\3', $haystack);
这工作,谢谢。 – reformed 2012-07-12 22:04:04
只需使用str_replace而不是str_ireplace。
是的,但然后“搜索字符串”不会拿起“搜索字符串”或“搜索字符串” – reformed 2012-07-12 21:44:43
尝试使用preg_replace与'我'修饰符。 – 2012-07-12 21:48:30
为什么在不希望字符串被修改时使用字符串替换函数?使用一个函数,像'stripos'一样在字符串内搜索,而不是用来修改数据的函数。或者,发布你正在使用的代码,以便我们可以看到到底发生了什么问题。 – Jazz 2012-07-12 21:46:07
这是一个搜索脚本,突出显示搜索结果中出现的用户提交的单词。对于str_replace,它没有突出显示由于大写而出现的每个单词,但对于str_ireplace,它突出显示了所有单词,但是它们丢失了所有的大写字母。也许preg_match会更好。 – reformed 2012-07-12 21:54:00