這是一個網站搜索腳本。如果我使用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