日期:2014-05-17  浏览次数:20471 次

一个正则加法和减法的运算,
$result= "中华民国96年 ";
$result   =   preg_replace( '/中华民国([0-9]+)年/s ', '公元1912+\\1-1年 ',$result);

行运结果是:公元1912+96-1年


我要的结果是:公元2007年  

怎么才能让 "1912+96-1 "运算结果出来??

------解决方案--------------------
<?php
$result= "中华民国96年 ";
echo $result = preg_replace( '/中华民国([0-9]+)年/es ', 'ch(\\1) ',$result);

function ch($s)
{
$y = 1912 + $s - 1;
return '公元 '. $y . '年 ';
}
?>

output:

公元2007年