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 回答