在从右到左的两个字符空格后添加字符

时间:2016-11-11 19:52:36

标签: php string numbers substr

我有时间存储在我的数据库中。这是一个时间的例子:

8001000

第一个是8:00,第二个是10:00。我想在第二个字符开始从右到左计数后添加分号:。我怎么能在PHP中做到这一点?

这是我试过的:

$realTime = substr_replace($oldtime,":", 2, -strlen($oldtime));

但它从左边开始,但我需要它从右边开始计数。感谢。

3 个答案:

答案 0 :(得分:3)

根据docs

  

如果开始为否定,则替换将从字符串末尾的开始'字符开始。

所以使用负数:

$realTime = substr_replace($oldtime,":", -2, -strlen($oldtime));

答案 1 :(得分:0)

使用正则表达式

$newtime = preg_replace('#^(.*)([0-9]{2})$#','$1:$2',$oldtime);

答案 2 :(得分:0)

另一种方法是根据长度使用不同的公式并使用case语句。

ack needle this_haystack/ that/haystack/ other/haystack*.txt

Working Fiddle