如何在不改变大小写的情况下使用str_replace?

时间:2012-07-12 21:41:20

标签: php search str-replace capitalization

这适用于网站搜索脚本。如果我使用str_ireplace,这将改变搜索结果的大小写。例如,如果查询字符串是“搜索字符串”并且找到包含“搜索字符串”的记录,则后者将失去其大小写。有什么方法吗?

我需要在搜索结果中加入突出显示。

问题是找不到字符串或突出显示它。我可以用str_ireplace来完成这个。但这将失去资本化。我想要的是保持大写字母不变。

3 个答案:

答案 0 :(得分:1)

您可以使用preg_replace

$haystack = 'Some text here.';
$str = preg_replace( "#(.*)(text)(.*)#i", '\1<b>\2</b>\3', $haystack );

答案 1 :(得分:0)

使用stripos代替搜索。

if ( stripos( $haystack, $needle ) !== false )
    echo $needle, ' found!';

答案 2 :(得分:0)

只需使用str_replace而不是str_ireplace。