查找字符串并使用regex创建变量

时间:2014-04-07 13:47:37

标签: php regex variables

我使用file_get_contents()获取网站的源代码。 在这段代码中,我尝试检测这个王字符串,并将idDM的内容放在一个变量中。

'idDM':'x1mi7f7'

例如,这里,$ idDM将等于x1mi7f7,但字符串可以是:

'idDM':'xxxxxxx'

变量将是xxxxxxx。

我知道必须使用REGEX。目前,我只是设法查找是否存在IdDM,而不是恢复其内容。

有什么建议吗?感谢。

1 个答案:

答案 0 :(得分:3)

使用以下正则表达式:

'idDM'\s*:\s*'([^']+)'

<强>解释

  • 'idDM' - 匹配文字字符串'idDM'(带引号)
  • \s* - 匹配一个或多个空白字符
  • : - 匹配文字冒号
  • \s* - 匹配一个或多个空白字符
  • '([^']+)' - 匹配(并捕获)单引号内的所有内容

<强>用法:

$str = "foo bar 'idDM':'x1mi7f7' more baz";

if (preg_match("/'idDM'\s*:\s*'([^']+)'/", $str, $matches)) {
    $idDM = $matches[1];
}

var_dump($idDM); // => string(7) "x1mi7f7"

Demo