FILTER_VALIDATE_REGEXP
全部标签 哪种解决方案更好,是使用内置验证filter_var('email',FILTER_VALIDATE_EMAIL)还是自定义函数?谢谢! 最佳答案 自定义验证让您可以更好地控制您想要进行的程度。作为电子邮件地址,什么是有效的和什么是无效的比您想象的要复杂,而且大多数时候,对此过于宽松总比过于严格要好。毕竟,语法上有效的电子邮件地址并不能保证该帐户确实存在,更不用说它正在被积极使用了。例如,它必须包含一个@,@之后至少有一个点,@之前至少有一个字符,并且没有任何非法字符,在大多数情况下可能就足够了。
$str='"mynam@blabl"@domanin.com';filter_var($str,FILTER_VALIDATE_EMAIL);//returnvalidemail.上面的电子邮件返回true...RFC2822说它是一个合法的电子邮件地址。我的问题是,如果您使用上述方法验证电子邮件,即使您已使用filter_var对其进行过滤,电子邮件是否会携带可能损害数据库的sql注入(inject)? 最佳答案 myquestionisifyouvalidateanemailusingtheabovecouldanemailc
在浏览器中显示之前,是否有任何方法可以对我的所有PHP和/或HTML文件输出进行“过滤”?我想我可以在它显示之前通过一个全局函数传递它,但我坚持执行。请帮忙。如果有更好的方法可以达到同样的效果,我很乐意知道。谢谢。 最佳答案 查看ob_start它允许您传递回调处理程序以对脚本输出进行后处理。例如,PHP包含一个内置回调ob_gzhandler用于压缩输出:Thisshouldbeacompressedpage.这里有一个更完整的示例,说明了如何使用tidyextension整理HTML:functiontidyhtml($inpu
我正在查看我的functions.php并想知道为什么代码A使用add_action而代码B使用add_filter?CODEA的主要目标是包括和排除特定类别。CODEB的主要目标是排除特定类别。代码A使用add_action是否正确和代码B的add_filter?代码A:显示主页的特定类别(称为“特色”),而不是“最新帖子”functionfeatured_category($query){if($query->is_home()&&$query->is_main_query()){$query->set('category_name','featured');$query->set
PHPManual:filter_var_array()mixedfilter_var_array(array$data[,mixed$definition[,bool$add_empty=true]])对于filter_var_array()调用的$definition参数,这样的东西可以工作吗?(数组语法>=PHP5.4)$def=['firstName'=>['filter'=>FILTER_SANITIZE_STRING,'flags'=>[FILTER_REQUIRE_SCALAR|FILTER_FLAG_NO_ENCODE_QUOTES|FILTER_FLAG_STRIP_
我正在过滤$_SERVER["REQUEST_URI"]这样:$_request_uri=filter_input(INPUT_SERVER,'REQUEST_URI',FILTER_SANITIZE_URL);如php.net中所述:FILTER_SANITIZE_URLRemoveallcharactersexceptletters,digitsand$-_.+!*'(),{}|\^~[]`#%";/?:@&=.但是,浏览器发送这个REQUEST_URI值urlencode,因此它没有在这个filter_input()函数中被清理。说地址是http://www.example.co
我想知道是否有可能获取一个变量,无论它是在POST还是GET中,然后使用filter_input()对其进行清理。起初我认为$var=filter_input(INPUT_POST|INPUT_GET,"var",FILTER_SANITIZE_STRING)可能有效,但它没有,PHP手册指出你只能传递一种类型的输入。我还尝试了INPUT_REQUEST,但奇怪的是没有成功。该函数识别它(即它不会抛出一个错误,说我在$input中放错了东西),但它不会得到任何代码。是的,我知道不要在实时环境中使用INPUT_REQUEST,我只是纯粹测试它是否可行。目前我在做以下事情:$var=fil
在Zend_Validate_EmailAddress和filter_var(...,FILTER_VALIDATE_EMAIL)中,验证电子邮件地址时哪个更好,为什么? 最佳答案 两者都可用于验证电子邮件地址,但Zend_Validate_EmailAddress更强大。虽然filter_var是一个简单的是或否验证器,但有许多选项可以改变Zend_Validate_EmailAddress的严格程度。您可以选择要验证的部分、验证这些部分的规则,甚至可以选择验证MX记录。最后,Zend_Validate_EmailAddress可
我想在用户提交没有任何数据的表单时使用PHPUnit测试我的Symfony2应用程序。我的验证已激活,因此错误消息会在导航器中正确显示。例如在实体中:classFoo{/***@varstring**@Assert\NotBlank()*@ORM\Column(name="name",type="string",length=255)*/private$name;/***@varstring**@Assert\NotBlank()*@ORM\Column(name="city",type="string",length=255)*/private$city;}以及这个实体的类型:cla
我有一个元素。我想向其添加自定义验证器和自定义过滤器。验证器确保输入是几个允许值之一,然后过滤器将一些自定义值添加到输入。这意味着我必须在运行过滤器之前先验证原始输入。我按照这个顺序做$element=newZend_Form_Element_Text('element');$element->addValidator('PermittedValue',false);$element->addFilter('TotalHyphen',false);$this->addElement($element);但是这个命令没有得到遵守。过滤器首先运行并更改数据,然后验证器在过滤后的数据上运行,