0

以下はphpフォームからのものです。数字以外の文字を削除して値をフォーマットしたい。pregreplaceが最良のオプションだと思いますが、それを実装する方法がわかりません。

どんな助けでも大歓迎です。コードは以下のとおりです。

if(isset($_GET['price-max'])) {
    if($_GET['price-max'] >= 1) {
        $args['meta_query'][] = array(
            'key' => 'pyre_price',
            'value' => $_GET['price-max'],
            'compare' => '<=',
            'type' => 'numeric'
        );
    }
}
4

2 に答える 2

1

これでうまくいくはずです。

$value = preg_replace('/[^0-9]+/', '', $value);

これにより、0〜9以外のすべての文字が空の文字列に置き換えられます。関数のドキュメントについては、preg_replace()を参照してください。PCRE正規表現構文を調べることもできます。

于 2013-03-10T06:29:54.217 に答える
0

次のように解決しました:

$valuemax = $_GET['price-max'];

$valuemax = preg_replace('/[^0-9]+/', '', $valuemax);

if(isset($_GET['price-max'])) {

if($_GET['price-max'] >= 1) {

    $args['meta_query'][] = array(

        'key' => 'pyre_price',

        'value' => $valuemax,

        'compare' => '<=',

        'type' => 'numeric'

    );

}

}
于 2013-03-11T04:54:55.617 に答える