我希望使用strpos
检查字符串中的多个字符,例如:
我想在$ string中分别检查字符:
,!
和&
。如果在任何时候找到它们中的任何一个,则返回false。
最有效的方法是什么?谢谢!
答案 0 :(得分:2)
preg_match("/[:!&]/", $string) !== 1;
示例:
var_dump(preg_match("/[:!&]/", "this is !a test string"));
> int(1)
var_dump(preg_match("/[:!&]/", "this is a test string"));
> int(0)
如果模式与给定主题匹配,则preg_match()返回1,否则返回0;如果发生错误,则返回FALSE。
答案 1 :(得分:1)
如果找到任何一个,则返回false。
由于您不关心角色的实际位置,您可以使用正则表达式:
preg_match("/[:!&]/", $str); // 1 if found, 0 if none found
答案 2 :(得分:1)
如果你的帖子是准确的,你要做的是返回FALSE如果找到这些字符串,strpos()
不是正确的功能。 strpos()
用于查找字符串中某些字符(或字符串)首次出现的位置。
如果你声明的目标是准确的,你可能想要更像这样的东西:
if( preg_match( "/[\:\!&]/", $str ) > 0 ) { return false; }