0

映画のランタイムを含む文字列があります。

1 h 19 min

今、私はそれを次のようにしたいと思います:

1h 19m

これは実際にはかなり簡単なはずですが、解決策を見つけることができません。

4

4 に答える 4

6
$str = str_replace(array(' h', ' min'), array('h', 'm'), $str);
于 2012-06-13T08:27:12.053 に答える
5
$runtime="1 h 19 min";
$runtime=str_replace(" h","h",$runtime);
$runtime=str_replace(" min","m",$runtime);
于 2012-06-13T08:25:32.720 に答える
4

正規表現を使用して、数字と数字以外の間のすべてのスペースを削除できます。

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

実際に見てください

更新:残念ながら、これは "min" を "m" に変換しません。

これに照らして、bsdnoobz のstr_replaceような配列を使用したソリューションは、ここに行くための唯一の正しい方法です。しかし、それを楽しむためだけに:

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

実際に見てください

于 2012-06-13T08:25:24.043 に答える
0

最も簡単な方法

$runtime = "1 h 19 min";

$runtime = str_replace(" h", "h", $runtime);

$runtime = str_replace(" min", "min", $runtime);

于 2012-06-13T08:27:13.170 に答える