我想要做的是允許用戶輸入用逗號和空格隔開的關鍵字(例如:單詞,單詞,單詞,單詞)。單詞數量沒有限制,我只希望格式得到尊重。謝謝!如何允許用戶輸入由逗號和空格分隔的單詞? PHP
0
A
回答
0
那麼,如果你想成爲準確,你可以使用:
$tags = explode(', ',$input);
一個更快樂的匹配,而無需使用正則表達式:
$tags = explode(',',$input);
for($i=0;$i<count($tags);$i++) {
$tags[$i] = trim($tags[$i]);
}
並使用正則表達式:
$tags = preg_split('/\s*,\s*/',$input,-1,PREG_SPLIT_NO_EMPTY);
0
你可以簡單地使用explode
將字符串拆分爲部分。
$words = explode(', ',$_POST['words']);
0
您可以在服務器端重新格式化用戶輸入,不要強迫他們擔心格式。只需寫功能爲你做。像
$correct_input = reformatInput($user_input);
功能reformatInput()
事情可能是這樣的一個
function reformatInput($inp) {
$inparr = explode(" ", str_replace(",", " ", $inp));
$res = array();
foreach ($inparr as $item) if ($item != '') $res[] = $item;
return join(", ", $res); // join() is alias of implode()
}
如果在用戶的輸入沒有的話這個函數返回comma+space
或空字符串分離串包含單詞。
現在,如果你有用戶輸入這樣的一個例子
$user_input = " word1,word2, word3,, word4, word5 word6 word7 ,,,";
您可以使用該功能和輸出格式正確
$correct_input = reformatInput($user_input);
echo "user input ($correct_input)";
輸出基於這個例子將是
重新格式化用戶輸入(word1,word2,word3,word4,word5,word6,word7)
通常,這就是你想要的結果。
注意:您可以使用Ajax重新格式化輸入元素的輸入事件,並在輸入字段中將其存回(正確的格式),或者使用JavaScript重寫此函數並在客戶端執行此操作,但是在如果客戶端在他/她的瀏覽器中禁用JavaScript,則應該再次在服務器端進行檢查,並且它不起作用。
你可以做到這一點,沒有正則表達式,你可以很容易地看到。
參考文獻:
相關問題
- 1. 驗證逗號分隔的輸入,不允許空格
- 2. 將逗號和空格分隔的輸入拆分爲兩個單詞
- 3. 試圖允許無限制的單詞用空格分隔
- 4. SimpleCart不允許千逗號分隔符
- 5. DataGridView:如何允許逗號和點作爲分隔符同時
- 6. 限制用戶輸入只有七個逗號分隔的單詞
- 7. 讀取由逗號和空格分隔的一個行 - java的
- 8. 如何在Google Actions和Alexa中用逗號分隔單詞
- 9. PHP解析輸入域名的textarea(用空格,逗號,換行符分隔)
- 10. 只允許輸入字段中逗號分隔的數字使用角度js
- 11. 如何輸入逗號分隔成表格的多個值?
- 12. 獲取用逗號分隔的輸入
- 13. 逗號分隔值單倒引號和逗號分隔值
- 14. C++讀入文件用逗號和空格分隔
- 15. 帶有用逗號分隔的單詞的PHP數組
- 16. 如何使用strtok將用戶輸入的單詞分隔符分隔爲空格
- 17. SQL LIKE單詞逗號分隔嗎?
- 18. 選擇以逗號分隔的單詞並使用PHP
- 19. CSV由空格分隔由逗號在終端
- 20. 將NSString分隔成NSArray,但允許引號將單詞分組
- 21. HTML表單不允許輸入空格
- 22. 如何從字符串中刪除單詞,用逗號分隔
- 23. 如何在Vim中搜索由空格分隔的單詞
- 24. 如何拆分逗號分隔的單詞?
- 25. Java:解析輸入,用逗號分隔
- 26. 用空格分隔用戶輸入號碼
- 27. 用逗號分隔的HTML表單輸入字段
- 28. FormEncode validate:用逗號分隔的詞
- 29. 以逗號分隔的輸入文件
- 30. 解析文本文件中用逗號或空格分隔的單詞 - 我可以用scanf克服逗號嗎?
感謝您的答覆,但我其實並不需要 「獨立」 的標記成不同的單詞。我真的只需要重新檢測格式,因爲它會在網站上「按原樣」顯示,並且我需要格式一致。我有一個說明向用戶解釋如何格式化他們的標籤,我只需要讓他們知道什麼時候沒有以正確的方式完成(並阻止插入操作)謝謝! – user712282 2011-04-17 17:07:29
您可以在第二個示例中始終使用implode(',',$ tags),並檢查該輸出是否與用戶輸入的內容不同。 – dog 2011-04-17 17:11:00