preg_match('/"\'<>&/', 'misiek"')
为什么不起作用?
答案 0 :(得分:1)
如评论中所述-完全按照您的指示进行。就您而言,您只需检查您提供的字符串是否包含确切的子字符串:“ \'<>&任何位置。
因此对于您的模式,以下字符串将导致匹配:
“'<>&
LOREM“'<>&IPSUM
由于这两个都包含您搜索的模式。但是, LO“ R'EM <> IPS&UM 不会返回匹配项,因为您不是在检查单个字符,而是只检查完整模式。
如果您将模式更改为:
/["\'<>&]/
您改为查找字符列表。如果找到用括号括起来的任何字符,则将返回true。
misiek -在这种情况下将不匹配
LO“ R'EM <> IPS&UM -将匹配
mis&iek -会匹配
您可以测试您的正则表达式模式并在此站点上构建它们:
您还将找到可以使用的可用修饰符以及使用它们的方式/原因。
祝你好运!
答案 1 :(得分:0)
我正在猜测:是否要匹配包含至少一个正则表达式中列出的字符的字符串?在这种情况下,您应该执行以下操作:
$res=preg_match('/["\'<>&]/' , 'misiek"');
结果应为正数($res===1
),请参见此处:
http://rextester.com/KYNGYI23753