135 文字列からすべてを削除しようとしていますが、数字(0-9)のみです。 これはうまくいくと思いました。 echo preg_replace("[^0-9]","",'604-619-5135'); しかし、それは「604-619-5135」に似ています。何が欠けていますか??? php regex string — ジェフキー ソース
276 これを試して: preg_replace('/[^0-9]/', '', '604-619-5135'); preg_replaceはPCREを使用します。PCREは通常、で始まり、で終わり/ます。 — クリス・エバーレ ソース 内部/二重引用符はPCREとは何の関係もありません。どうやら(以前は(?flags))関数/ APIを設計/作成した人々/flagsは、余分な関数パラメーターを使用する代わりに、二重引用符で囲まれた形式で正規表現フラグを渡すことをお勧めしました。 — Qtax 2011 6 @Qtax:良い点、そうだね( "g / re / p")から "grep"という単語が得られるところだ — クリス・エバーレ
109 これは将来の開発者向けです。これも試すことができます。シンプルすぎる echo preg_replace('/\D/', '', '604-619-5135'); — ナヴニールナイカー ソース 41 こんにちは、私は未来の開発者です。これは確かに私たちのニーズを十分に満たしています。ありがとうございました。 — zesda 2017 6 私はゼスダよりも未来から来ており、確認することができます。それはまだ助けです — myshadowself 3 私は将来2度戻ってきて、彼らがまだより良い方法を見つけていないことを確認できます。 — Eoin 4 私は最も遠い未来からの最後の開発者です。これはもう役に立たないと言って悲しいです。プラスチック製のストローをそれほど多く使用するべきではありませんでした。ここに着くと表示されます。 — ジェレミー 2 参考までに:39世紀の今でもこれを使用しています。 — user-44651
11 パターンは区切り文字で囲む必要があります。通常はスラッシュ(/)が使用されます。これを試して: echo preg_replace("/[^0-9]/","",'604-619-5135'); — SBerg413 ソース 1 区切り文字には、英数字、バックスラッシュ、空白以外の文字を使用できます。 — Mavelo、2015年
3 正規表現を使用したくない人のためのはるかに実用的な方法: $data = filter_var($data, FILTER_SANITIZE_NUMBER_INT); 注:電話番号でも機能します。 — アルプアルトゥネル ソース
(?flags)
)関数/ APIを設計/作成した人々/flags
は、余分な関数パラメーターを使用する代わりに、二重引用符で囲まれた形式で正規表現フラグを渡すことをお勧めしました。