我有这个:
preg_replace('/(\d{1}|\d{2})/gi', '$1', 'some number');
如果文本是一位数字,$ 1返回一位数字,如果是2位数,则返回2位数字....,但我需要返回的数字一直是2位数:
1 => 01
2 => 02
...
10 => 10
...
99 => 99
我该怎么做?
答案 0 :(得分:1)
使用str_pad()。它便宜很多。 http://php.net/str_pad
答案 1 :(得分:1)
答案 2 :(得分:1)
你的意思是这个吗?使用e
修饰符,用preg_replace
函数执行php代码,以及str_pad
或sprintf
满足你的要求。
preg_replace('/(\d{1}|\d{2})/ie', 'sprintf("%02d",$1)', 'some number');
答案 3 :(得分:0)
请使用str_pad()
。 <{1}}修饰符从PHP 5.5.0开始已弃用,应该避免使用。