0
好的,我認爲此頁面上的搜索欄中斷的原因是因爲PHP已更新,而preg_replace
已棄用。 https://sparklewash.com/使用Preg_Replace_Callback函數
我試過將preg_replace
函數替換爲preg_replace_callback
像這樣,但我仍然遇到一些問題。
原文:
function clean($string) {
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
return preg_replace('/[^A-Za-z0-9\-]/', '', $string); // Removes special chars.
}
新版本:
function clean($string) {
$string = str_replace(' ', '-', $string); // Replaces all spaces with hyphens.
return preg_replace_callback('/(^|_)([a-z])/',
create_function ('$matches', 'return strtoupper($matches[2]);'), $string); // Removes special chars.
}
我道歉,如果這是很容易爲你,我試圖遵循這裏的文章,但我仍然PHP相對較新。
編輯:我相信preg_replace不是因爲某些評論而破壞它。我在這裏提出了一個新的問題,留在主題:Redirect Loop on $_GET Request
'preg_replace'不棄用'e'修改是。你在用什麼?包含您以前的錯誤消息和代碼.. – chris85
您使用的是哪個版本的PHP?如果您使用的是5.3.0或更新的版本,則應該使用匿名函數而不是'create_function()'。 – Barmar
我不明白這個問題。原始代碼沒有使用'strtoupper',爲什麼你需要更新? – Barmar