php - 如何在 php 中检查字符串是否包含 { 和 } 等特殊字符

标签 php string preg-match character

在这个输入字段中,我希望用户不能使用以下特殊标记:{}[]$

现在我的代码中有以下解决方案,但问题是它不允许 ä、ö、ü 或其他类似字符。

if (preg_match('/^[-a-zA-Z0-9 .]+$/', $string)  || empty($string)){
echo "Everything ok!";
else{ 
echo "Everything not ok!";}

因此,我尝试使用 preg_match('/^[\p{L}\p{N} .-]+$/', $string) 因为据说它允许来自任何语言的字符,但该解决方案除外不允许像 @ 和 * 这样的标记,我认为可能需要这些标记。那么有什么解决方案允许除 {}[]$ 标记之外的任何内容吗?非常感谢您的帮助,因为我不知道要写什么才能使其正常工作。

最佳答案

这就是我的做法:

if (preg_match('/[^a-zA-Z\d]/', $string)) {
//$string contains special characters, do something.
}

关于php - 如何在 php 中检查字符串是否包含 { 和 } 等特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22390091/

相关文章:

php - 将多维数组拆分为单个数组 :PHP

php - pdo mysql 使用计数

string - 为什么 to_ascii_lowercase 返回一个 String 而不是 Cow<str>?

PHP替换图像src并从包含不同html标签的字符串在图像标签中添加新属性

php - preg_split() : Subject is too long

javascript - 如何在点击字形图标时显示通知右上角几秒钟?

PHP不会更新

javascript - 为什么 php 函数 str_word_count() 返回与等效的 js 不同的计数?

string - 如何在for循环中对变量执行字符串操作?

php - Notepad++::查找非特定格式的行