我正在与CMS西班牙语网站合作,我正试图将月份替换为西班牙语。
日期函数date("F j, Y, g:i a"):
August 24, 2011, 1:47 pm
现在我想让它看起来像这样:
Agosto 24, 2011, 1:47 pm
使用Php文档中的一个示例,我这样做:
$p['time'] = date("F j, Y, g:i a");
$time_english = $p['time'];
$search = $time_english('August', 'September', 'October', 'November', 'December');
$replace = $times_spanish('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$subject ='August';
str_replace($search, $replace, $subject);
出现以下错误:
Fatal error: Call to undefined function August 24, 2011, 3:50 pm() in
$search = $time_english('August', 'September', 'October', 'November', 'December');
使用strftime()
要容易得多。你所要做的就是设置一个locale
,然后你就可以用你想要的语言输出了。
的例子:
setlocale(LC_ALL, 'es_ES'); // I think it´s es_ES
$my_time = strftime("%B %e, %G, %I:%M %P"); // something like that...
这可能是正确的
$p['time'] = date("F j, Y, g:i a");
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
str_replace($search, $replace, $subject);
我想你的意思是
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
代替
$search = $time_english('August', 'September', 'October', 'November', 'December');
$replace = $times_spanish('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
作为一个有趣的点,你的错误说它试图调用一个名为August 24, 2011, 3:50 pm()
的函数的原因是由于明显的变量函数名称$time_english()
。它返回$time_english
的值,然后尝试将其作为函数运行。
内容如下:
$p['time'] = date("F j, Y, g:i a");
$time_english = $p['time'];
$search = array('August', 'September', 'October', 'November', 'December');
$replace = array('Agosto', 'Septiembre', 'Octubre', 'Noviembre', 'Diciembre');
$time_spanish = str_replace($search, $replace, $time_english);