在我的程序中,基本上,您只允许使用包含字母“ IOSHZXN”的单词
我正在尝试找出一种可以将字母混在一起的方式,它将识别出它们是匹配的.
例如,单词SHINT不匹配,因为它具有T,但是单词SHINX匹配,因为它仅包含列出的字母的组合(IOSHZXN)
$word = "IOSHZNX";
$charactersallowed = "IOSHZXN";
if (preg_match('/IOSHZXN/', $word)) {
echo "YES";
} else {
echo "NO";
}
?>
任何帮助,将不胜感激..
解决方法:
你可以这样做:
它匹配那些字母之一以外的任何东西,并返回相反的:
if (!preg_match('/[^IOSHZXN]+/', $word)) {
echo "YES";
}
另外,如果您希望它不区分大小写,则可以使用:
if (!preg_match('/[^IOSHZXN]+/i', $word)) {
echo "YES";
}
> [^ …]与括号内未定义的任何内容匹配.
>继续搜索整个字符串.
>我不关心字母是否大写.
标签:php,regex
来源: https://codeday.me/bug/20191122/2057243.html