Php 将“1小时19分钟”改为“1小时19分钟”

Php 将“1小时19分钟”改为“1小时19分钟”,php,replace,Php,Replace,我有包含电影运行时的字符串: 1 h 19 min 现在我希望它看起来像这样: 1h 19m 我知道这实际上应该很容易,但我无法找到解决方案。您可以使用正则表达式删除数字和非数字之间的所有空格: $str = preg_replace('/(?<=\d) *(?=\D)/', '', $str); .最简单的方法 $runtime=1小时19分钟 $runtime=str_替换h,h,$runtime $runtime=str_replace min,min,$runtime; 您

我有包含电影运行时的字符串:

1 h 19 min
现在我希望它看起来像这样:

1h 19m

我知道这实际上应该很容易,但我无法找到解决方案。

您可以使用正则表达式删除数字和非数字之间的所有空格:

$str = preg_replace('/(?<=\d) *(?=\D)/', '', $str);
.

最简单的方法

$runtime=1小时19分钟

$runtime=str_替换h,h,$runtime

$runtime=str_replace min,min,$runtime;

您是否尝试过编写解决方案?从哪个php函数获得该字符串?它是否总是看起来像xx h yy min?它也可以有秒吗?或者$runtime=str_replacearray h,min,arrayh,m,$runtime;哦,太近了,但它不会把min变成m:-你可以试着用str_replace把它变成m@帕西迪亚布洛:永不放弃-我总是惊讶于有这么多人不知道这样函数中的数组——这绝对是一种“正确”的方法。
$str = preg_replace('/(?<=\d) *(\D)\S*/', '$1', $str);
$runtime="1 h 19 min";
$runtime=str_replace(" h","h",$runtime);
$runtime=str_replace(" min","m",$runtime);
$str = str_replace(array(' h', ' min'), array('h', 'm'), $str);