更換空間我有一個PHP腳本,用戶將輸入一個名稱,如:Alex_Newton
,用下劃線
然而,一些用戶會使用空格,而不是下劃線,所以我的問題是:
怎麼辦我用PHP中的Underscores自動替換空格?
更換空間我有一個PHP腳本,用戶將輸入一個名稱,如:Alex_Newton
,用下劃線
然而,一些用戶會使用空格,而不是下劃線,所以我的問題是:
怎麼辦我用PHP中的Underscores自動替換空格?
呼叫http://php.net/str_replace:$input = str_replace(' ', '_', $input);
使用str_replace:
str_replace(" ","_","Alex Newton");
$name = str_replace(' ', '_', $name);
這是我的代碼,這使得空間爲下劃線來命名我的文件部分:
$file = basename($_FILES['upload']['name']);
$file = str_replace(' ','_',$file);
正如其他的都介紹瞭如何使用str_replace
做到這一點,你也可以使用正則表達式來實現這一目標。
$name = preg_replace('/\s+/', '_', $name);
你也可以做到這一點,以防止開始或類似_words_more_words_下劃線結束的話,這將避免開頭,以空格結束。
$trimmed = trim($string); // Trims both ends
$convert = str_replace('', '_', $trimmed);
我用這樣的
$option = trim($option);
$option = str_replace(' ', '_', $option);
Strtr
取代單個字符而不是字符串,所以它的這個例子很好的解決方案。據推測,strtr
比str_replace
快(但對於這種用例,它們都快無比快)。
echo strtr('Alex Newton',' ','_');
//outputs: Alex_Newton
如果{有人張貼了這個現在SO}(模具(這個「過於狹隘」的問題);已經接管//下來投票和關閉} SO納粹分子,他們似乎已經忘記了什麼沒有按-T興趣他們!==有用的答案, – Gamemorize