私は現在持っています
preg_replace('/[^0-9]/s', '', $myvariable);
たとえば、入力はGB-3です。私の現在の行は私に値3を与えています。私は値が3の現在の出力の代わりに-3を示すようにマイナスを維持できるようにしたいです。
私は現在持っています
preg_replace('/[^0-9]/s', '', $myvariable);
たとえば、入力はGB-3です。私の現在の行は私に値3を与えています。私は値が3の現在の出力の代わりに-3を示すようにマイナスを維持できるようにしたいです。
これを試して :
preg_replace('/[^\d-]+/', '', $myvariable);
正規表現の内訳:
//
両側に正規表現の区切り文字があります-内部にあるものはすべて正規表現です[]
これは文字クラスであることを意味します。キャラクタークラスのルール変更^
内部文字クラスは「not」を表します。\d
は[0-9]の略で、唯一の違いは、文字クラスの内部と外部の両方で使用できることです。-
マイナス記号と一致します+
最後に数量詞です。これは、1つ以上の文字と一致する必要があることを意味します