3

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

filter_var($var,FILTER_SANITIZE_URL);

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

4

2 回答 2

6

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

于 2013-07-22T21:30:53.523 回答
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;
          }
      }
}
于 2013-05-26T06:24:30.723 回答