使用HHVM时,是否有替代php中的“filter_var”函数?

时间:2013-05-26 05:45:24

标签: php hhvm

我最近一直在玩HHVM。在计算机上运行时遇到了很多麻烦。我知道并非所有PHP函数都可用。作为测试,我正在使用它编写一个新网站,而不是使用我当前的代码。我在尝试使用

时遇到了问题
filter_var($var,FILTER_SANITIZE_URL);

从error.log文件中可以看出,此函数未定义。 filter_var函数不能在HHVM中使用,或者我在这里做错了。我喜欢保持干燥,这意味着我必须进行比预期更多的验证。

2 个答案:

答案 0 :(得分:6)

filter_var现在在hhvm中实现。如果您有任何问题,请打开github问题。

答案 1 :(得分:1)

此功能似乎尚未在HHVM上实施,请参阅http://comments.gmane.org/gmane.science.linguistics.wikipedia.technical/70038

一个选项,如果你想依赖这个功能,希望它将进入折叠是为了填充它(部分实现以激发动机)。

if (!function_exists("filter_var")){
      // define the constants used by the function 
      define("FILTER_VALIDATE_EMAIL", "email");

      function filter_var(){
          $args = func_get_args();
          // $args[1] is the filter type (second parameter)
          switch ($args[1]){
               case FILTER_VALIDATE_EMAIL:
                   if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $args[0])?$args[0]:false;
                   break;
          }
      }
}