Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用带有preg_match的变量模式?_Php_Regex_Preg Match - Fatal编程技术网

Php 如何使用带有preg_match的变量模式?

Php 如何使用带有preg_match的变量模式?,php,regex,preg-match,Php,Regex,Preg Match,我不知道这些数据是否足够,但我有 preg_match('/SAMPLETEXT/',$bcurl,$cookie1) 我想知道我是否能做到 preg_match($newfunction、$bcurl、$cookie1) 但当我这样做时,我得到了以下错误“警告:preg_match()[function.preg match]:分隔符不能是字母数字或反斜杠” 我如何让它检查我的新函数,而不是让它只检查“SAMPLETEXT”。Trypreg\u match(“/$newfunction/”,$

我不知道这些数据是否足够,但我有

preg_match('/SAMPLETEXT/',$bcurl,$cookie1)

我想知道我是否能做到

preg_match($newfunction、$bcurl、$cookie1)

但当我这样做时,我得到了以下错误“警告:preg_match()[function.preg match]:分隔符不能是字母数字或反斜杠”

我如何让它检查我的新函数,而不是让它只检查“SAMPLETEXT”。

Try
preg\u match(“/$newfunction/”,$bcurl,$cookie1)
以便提供所需的分隔符(使用$newfunction中不包含的分隔符)


但请注意,“如果只想检查一个字符串是否包含在另一个字符串中,请不要使用preg_match()。请使用strps()或strstr(),因为它们会更快。”

您可以通过将变量置于[]之间来使用变量

    $subject = "abcdef";
$ch = 'b';
$pattern = '/[$ch]/';
preg_match($pattern, $subject, $matches);
//print_r($matches);
if ($matches)
{
    echo $subject;
}
preg_match('/'.$pattern'/i',$subject)


i
选项:允许使用大写字母或连字符。

$newfunction的值是多少?$newfunction的值由一个大约5-10个数字的随机键字符串组成,在加载时插入到另一个文件的SQL中。这是一个纯粹的失败。它是在检查网站上的$function,而不是$function的实际随机键。@Joey:你们用的是双引号还是单引号?@Joey:$bcurl的来源真的不相关。这场比赛要么成功,要么失败。在我的例子中,你使用了双引号吗?你太棒了,谢谢!它起作用了!我以前没有用双引号。我没有看清楚你的答案,非常感谢。:)请记住,如果
$newfunction
可以包含正则表达式的保留字符,如
`或
?`,则应使用preg挈quote转义
$newfunction
的内容。这看起来很有效,因为变量名包含一个c。“您可以通过将变量放在[]之间来使用它。”这完全是错误的。这条代码完全是偶然的。