如何在php preg_match中的{}括号之间包含变量?

时间:2015-06-12 22:14:16

标签: php variables preg-match

所以我目前有这个PHP代码

preg_match('/^([^.!?]*[\.!?]+){0,**3**}/', $text, $abstract);

而不是数字3,我希望它是一个变量示例>

preg_match('/^([^.!?]*[\.!?]+){0,**$variable**}/', $text, $abstract);

请多多感谢:)

3 个答案:

答案 0 :(得分:3)

使用双引号而不是单引号,变量将被替换:

preg_match("/^([^.!?]*[\.!?]+){0,$variable}/", $text, $abstract);

答案 1 :(得分:1)

好的,所以问题是使用php连接修复的,就像加入一个字符串一样....我之前尝试过的问题是我用的是+而不是。和其他语言一样。

现在代码如下

preg_match('/^([^.!?]*[\.!?]+){0,' . $var . '}/', $text, $abstract);

答案 2 :(得分:0)

在php中,'引号之间的内容是字面意思。因此'$myVar'不是$myVar的值,它实际上是字符串"$myVar"

如果你想要一个变量,你可以连接像'/^([^.!?]*[\.!?]+){0,' . $variable . '}/'

这样的字符串

在其他情况下(非正则表达式),您可以使用"引号。

编辑; PHP字符串concat是.,而不是+好工作,self> _>