フォームの検証中に、'$5,000' のような入力値を取り、コンマとドル記号を取り除き、'5000' のような値を返すことができるようにしたいと考えています。そこで、次のようなコールバック関数を作成しました。
function convert_to_number($value)
{
$result = preg_replace('/[\$,]/', '', $value);
return $result;
}
奇妙なことに、ドル記号やコンマを削除する代わりに、それとその後のすべての文字を削除するだけです ($5,000 の値は 0 を返し、5,000 は 5 を返します)。
次のバリアントも試しました。
function convert_to_number($value)
{
$result = str_replace("$", "", $value);
$result = str_replace(",", "", $result);
return $result;
}
同じことが起こります。それは私の心を揺さぶるだけです。ここで何が起こっているのでしょうか?