ereg()到preg_match(),你能为我转换它吗?

时间:2014-08-08 09:01:23

标签: php preg-match ereg

我只是变得疯狂,似乎并不困难...... 可以请某人将以下表达式转换为新函数preg_match?

ereg( "([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})", $dFecIni, $aFecIni);

非常感谢您提前

变量:

$dFecIni = date("o-m-d");

$ dFecIni = str_replace(“ - ”,“”,$ dFecIni); $ dFecIni = str_replace(“/”,“”,$ dFecIni);

回声:

echo "<br /> dFecIni: " . $dFecIni; -> dFecIni: 20140808
回声“一个幻想:”。 $ dFecIni; - &GT; aFecIni:20140808

preg_match(“/([0-9] {1,2})([0-9] {1,2})([0-9] {2,4})/”,$ dFecIni,$ aFecIni); preg_match(“/([0-9] {1,2})([0-9] {1,2})([0-9] {2,4})/”,$ dFecFin,$ aFecFin);

回声“一个幻想:”。 $ aFecIni [0]; - &GT; aFecIni:20140808

然后她做了:

$date1 = mktime(0,0,0,$aFecIni[2], $aFecIni[1], $aFecIni[3]);

这不是我的代码,所以我移植到另一台服务器和更高版本的PHP并出现这些错误...... 实际上错误是它不应该在一个表上插入数据,但是我发现它就在它使用这个函数之前,但即使用斜杠仍然没有插入

2 个答案:

答案 0 :(得分:0)

只需添加斜杠:/

"/([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})/"

答案 1 :(得分:0)

查看preg_match()

int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

在您的情况下$pattern = "/([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})/" $subject是您要匹配的文字,我假设为$dFecIni。 如果要保存匹配项,请提供要保存的变量名称,例如$aFecIni

然后完整的功能

preg_match("/([0-9]{1,2})([0-9]{1,2})([0-9]{2,4})/", $dFecIni, $aFecIni);