由於我的註冊系統,我需要檢查的特殊字符的存在在一個變量的一部分。我怎樣才能執行此檢查?給出最準確答案的人最好。
檢查特殊字符
回答
$special_chars = // all the special characters you want to check for
$string = // the string you want to check for
if (preg_match('/'.$special_chars.'/', $string))
{
// special characters exist in the string.
}
檢查的preg_match更多細節
手動啊是啊,如果你想檢查存在而不是逃避特殊字符,這是要走的路 – Jasper
快速谷歌搜索「PHP的特殊字符」帶來了一些好消息:
htmlentities() - http://php.net/manual/en/function.htmlentities.php
htmlspecialchars() - http://php.net/manual/en/function.htmlspecialchars.php
我認爲你需要閱讀這些手冊用於將所有字符轉換爲HTML實體,並且不檢查是否存在特殊字符 – Balanivash
檢出我對您的文章的評論 – Jasper
假設你的意思是HTML實體,當你說「特殊字符」,你可以使用這個:
<?php
$table = get_html_translation_table(HTML_ENTITIES, ENT_COMPAT, 'UTF-8');
$chars = implode('', array_keys($table));
if (preg_match("/[{$chars}]+/", $string) === 1) {
// special chars in string
}
get_html_translation_table
獲取所有可能的html實體。如果您只想要功能htmlspecialchars
轉換的實體,則可以傳遞HTML_SPECIALCHARS
而不是HTML_ENTITIES
。 get_html_translation_table
的返回值是一個(html實體,轉義實體)對的數組。
接下來,我們希望將所有的html實體放在一個正則表達式中,如[&"']+
,它將匹配包含長度爲1或更多的方括號內的字符之一的任何子字符串。因此,我們使用array_keys
來獲取翻譯表(未編碼的html實體)的關鍵字,並將它們拼合成單個字符串。
然後,我們把它們放入正則表達式中,並使用preg_match
來查看字符串是否包含任何這些字符。您可以在PHP文檔中閱讀關於regular expression syntax的更多信息。
- 1. 檢查特殊字符
- 2. 忽略檢查中的特殊字符
- 3. 有特殊字符的Unicode檢查
- 4. 特殊字母檢查
- 5. lucene查詢特殊字符
- 6. 查詢的特殊字符
- 7. mysql查詢特殊字符
- 8. 檢查字符串是否包含python中的特殊字符
- 9. 如何在Java中檢查字符串特殊字符
- 10. 檢查字符串中的特殊字符?
- 11. 的Java檢查字符串特殊字符
- 12. javascript檢查一個字符串開頭的特殊字符
- 13. 檢查字符串中的特殊字符(/ * - + _ @&$#%)?
- 14. 檢查一個字符串是否只包含特殊字符
- 15. Shell腳本來檢查字符串和特殊字符
- 16. jQuery:檢查字符串中是否存在特殊字符
- 17. 檢查字符串中的特殊字符
- 18. 檢查渲染屬性「\ n」或其他特殊字符字符
- 19. 檢查一個字符串是否有特殊字符
- 20. 的Java:檢查字符串結尾或特殊字符開頭
- 21. JavaScript檢查字符串末尾的特殊字符
- 22. 檢查字符串是否有空白或特殊字符
- 23. Scala檢查字符串是否包含特殊字符
- 24. java:檢查除特殊字符以外的字符串
- 25. 檢查密碼包含字母,數字和特殊字符
- 26. 特殊字符
- 27. 特殊字符
- 28. 特殊字符
- 29. 特殊字符
- 30. 特殊字符
如果你想要脂肪酶幫助你,請接受你的問題。 – Balanivash
「特殊字符」的定義有待解釋。你能定義「特殊字符」的含義嗎?或者,如果該列表較短,您可能不認爲哪些字符是「特殊字符」? –
你的意思是「給出最準確答案的人最好」。這是一個社區,而不是比賽。 – Balanivash