我在这个论坛中找到了这个代码,我正在使用它.它的工作正常,但在法语中,月份是mois,所以它已经有了s.两个ss没有意义.
如果一个单词已经以一个单词结尾,如何阻止它插入?谢谢
function time_elapsed_string($ptime)
{
$etime = time() - $ptime;
if ($etime < 1)
{
return '0 seconds';
}
$a = array( 12 * 30 * 24 * 60 * 60 => 'an',
30 * 24 * 60 * 60 => 'mois',
24 * 60 * 60 => 'jour',
60 * 60 => 'heure',
60 => 'minute',
1 => 'seconde'
);
foreach ($a as $secs => $str)
{
$d = $etime / $secs;
if ($d >= 1)
{
$r = round($d);
return $r . ' ' . $str . ($r > 1 ? 's' : '') . ' ago';
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用substr()子字符串长度-1 来获取字符串的最后一个字符.所以只需添加一个条件来检查单词是否以"s"结尾:
return $r . ' ' . $str . ($r > 1 && substr($str, -1) != 's' ? 's' : '') . ' ago';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |