由于我的注册系统,我需要检查的特殊字符的存在在一个变量的一部分。我怎样才能执行此检查?给出最准确答案的人最好。
检查特殊字符
回答
$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