以内に私のような文字列で働いています:文字列内のPHP - にpreg_replace数文字列
$string = "2017 MODEL YEAR 6.7L POWER STROKE V8 DIESEL 6-SPEED AUTO TRANS 3.55 ELECTRONIC LOCKING AXLE FX4 OFF-ROAD PACKAGE .SKID PLATES 10000-lb. GVWR PACKAGE";
は、文字列10000-lb. GVWR PACKAGE
です。私の目標は、文字列が10,000-lb. GVWR PACKAGE
となるようにnumber_format
を10000に適用することです。
私はpreg_replace
でテストされていますし、使用して番号を取得することができます
preg_replace('!\d+-lb\.!', '\0', $string);
私は同じようnumber_format
を適用しよう:
preg_replace('!\d+-lb\.!', number_format('\0'), $string);
が、以下のエラーが表示されます。
number_format() expects parameter 1 to be float, string given
をマッチに適用するurns a 0であり、予想される10,000ではありません。
今後の進め方についてはわかりません。私が見つけたキャッチも、最初の2017に数字書式を適用したくないということです。preg_match
を具体的にしないように調整する必要がありますか?preg_match
の中の試合にpreg_match
を適用するだけですか?
奇妙なことに、floatvalはそれを返します。 "10000"にはどのようなバリエーションがありますか "8000"ですか? – Andreas
この回答を使用することができます:[正規表現を含む文字列のPHPフォーマットnumebrs](https://stackoverflow.com/a/3904536/3600709) – ctwheels