使用preg_match提取字符串中的字符串?

时间:2016-07-06 22:46:52

标签: php regex preg-match

$data = '| years_active = 1960–70 | label = ';
preg_match('active(.*?)label', $data, $matches);
echo print_r($matches);

我原以为这会输出一个包含值的数组:'= 1960- 70 | ',但我得到了输出:1。

理想情况下,我试图提取:'1960-70'。

我哪里错了?感谢。

1 个答案:

答案 0 :(得分:0)

您回显print_r()的结果,“如果您想捕获print_r()的输出,请使用return参数。当此参数设置为TRUE时,print_r()将返回信息而不是打印它“。 http://php.net/manual/en/function.print-r.php

你还需要预先定义$ matches,因为preg_match将ref引用到那个数组并且你破坏了正则表达式:DateTime.ToUniversalTime()

'/active(.*)label/'