\\    $DigitalSignature have full name value passed
$SignatureMatch =  '/' . strtolower( $NameFirst . ' ' . $NameLast ) . '$/';
if( true == preg_match( $SignatureMatch, strtolower( $DigitalSignature ) ) )
{
    $boolIsValid = true;
}

我有这个代码精确匹配的名字和姓氏匹配数字签名。但这给了我在生产(现场)错误日志中报告的错误。
preg_match(): Unknown modifier 'b'

我无法重现这个错误。我怎样才能先得到这个错误呢?以及如何解决此错误以进行精确匹配。
我已经看到很多这样的问题,但没有得到什么时候会得到这个错误。我该如何解决这个问题。我看到的许多问题中有一些是-
Warning: preg_match() [function.preg-match]: Unknown modifier
Unknown modifier in preg_match() statement
Warning: preg_match() [function.preg-match]: Unknown modifier
Unknown modifier 'l' error
Unknown modifier 'g' PHP regex error
Unknown modifier '/' in ...? what is it?
preg_match() Unknown modifier '[' help
Warning: preg_match() [function.preg-match]: Unknown modifier 'v'
PHP Preg_match match exact word
Unknown modifier 'v' when using preg_match() expression in regex
preg_match(); - Unknown modifier '+'
preg_match error Unknown modifier '{'
Unknown modifier '(' when using preg_match() with a REGEX expression

最佳答案

如果名字或姓氏包含/,则正则表达式将类似于:

/john/doe$/

对于preg_match,这看起来像regex是/john/,后面的doe$/是修饰符。这些当然是无效的修饰符。您需要使用/在正则表达式内部转义正则表达式分隔符(preg_quote)。

10-06 04:41