Php 查找月前匹配
我正在通过CURL检查存储在PHP变量中的网页。网页中有一个月名和年名,还有一个名称,因此网页看起来像:Php 查找月前匹配,php,string,preg-match,Php,String,Preg Match,我正在通过CURL检查存储在PHP变量中的网页。网页中有一个月名和年名,还有一个名称,因此网页看起来像: December 2012 Name: Jack Brown 我想要一个pregmatch来查找数据,这样我就可以像这样显示它: For Jack Brown - December 2012 我试过了 \b(?:Jan(?:uary)?|Feb(?:ruary)?|...|Dec(?:ember)?) (?:19[7-9]\d|2\d{3})(?=\D|$) 但是它出现了一个错误我为
December 2012
Name: Jack Brown
我想要一个pregmatch来查找数据,这样我就可以像这样显示它:
For Jack Brown - December 2012
我试过了
\b(?:Jan(?:uary)?|Feb(?:ruary)?|...|Dec(?:ember)?) (?:19[7-9]\d|2\d{3})(?=\D|$)
但是它出现了一个错误我为您制作了一个片段,您可以从这里开始
$str = 'December 2012 Name: Jack Brown';
$ptr = "/^(?P<month>:Jan(?:uary)?|Feb(?:ruary)?|Dec(?:ember)?) (?P<year>:19[7-9]\d|2\d{3}) (Name:(?P<name>(.*)))/";
preg_match($ptr, $str, $data);
echo 'For '.trim($data['name']).' - '.$data['month'].' '.$data['year'];
这是一个数组
Array
(
[0] => December 2012 Name: Jack Brown
[month] => December
[1] => December
[year] => 2012
[2] => 2012
[3] => Name: Jack Brown
[name] => Jack Brown
[4] => Jack Brown
[5] => Jack Brown
)
我也试着用它
'February 2005 Name: Bob' => 'For Bob - February 2005'
注:你可以添加更多我懒得添加的月份,干杯你应该展示你的尝试。另外,“变量”是否在一个字符串中返回所有这些内容?如果是这样的话,这将不是一件简单的事情。如果是不同的变量,您可以使用这些变量创建自己的变量。您会得到什么错误?您是否记得使用分隔符?显示使用此正则表达式的PHP代码也可能会有所帮助。警告:preg_match()[function.preg match]:分隔符不能是字母数字或反斜杠,听起来您好像忘记了。
'February 2005 Name: Bob' => 'For Bob - February 2005'