我有包含电影运行时间的字符串:
1 h 19 min
现在我希望它看起来像这样:
1h 19m
我知道这实际上应该很简单,但我无法找到解决方案。
答案 0 :(得分:6)
$str = str_replace(array(' h', ' min'), array('h', 'm'), $str);
答案 1 :(得分:5)
$runtime="1 h 19 min";
$runtime=str_replace(" h","h",$runtime);
$runtime=str_replace(" min","m",$runtime);
答案 2 :(得分:4)
您可以使用正则表达式删除数字和非数字之间的所有空格:
$str = preg_replace('/(?<=\d) *(?=\D)/', '', $str);
更新:不幸的是,这并没有将“min”变成“m”,我实际上并没有注意到这一点。
鉴于此,具有bsdnoobz's等数组的str_replace
解决方案实际上是唯一明智的方式。但只是为了它的乐趣:
$str = preg_replace('/(?<=\d) *(\D)\S*/', '$1', $str);
答案 3 :(得分:0)
最简单的方法
$runtime = "1 h 19 min";
$runtime = str_replace(" h", "h", $runtime);
$runtime = str_replace(" min", "min", $runtime);