草庐IT

Twig_Filter

全部标签

php - 防止 Twig 在 {% include %} 之后插入换行符

Twig似乎插入了一个\n在{%include%}的内容之后.我可以用这个简单的例子重现这个问题:测试.php:render('test.twig',['foo'=>'bar']);测试Twig:{%include"include.twig"%}{{foo}}include.twig:Foo:我希望输出是:Foo:bar但它是:Foo:bar有什么办法可以避免这种情况吗?Twig的空格控制{%-...-%}对此没有影响。更新:正如sjagr的回答中提到的,实际上还有一个额外的0x0a模板末尾的字符即使使用:setbinary也不会显示在VIM中.知道我知道为什么会这样,但我仍然需要一个

php - Symfony/ Twig : How to get error Message from hidden fields

我在我的表单类型中定义了3个隐藏字段:publicfunctionbuildForm(FormBuilderInterface$builder,array$options){$builder->add('type','hidden',array())->add('number','hidden',array())->add('token','hidden',array());}当我发送我的表单时,我从我的Controller收到一个notValid错误,这是完全正确的。但是当我想在我的Twig模板中获取错误时,没有设置错误。{{dump(myForm.card.type.vars.er

php - 如何在 Symfony 4 的 Twig 的 {{ dump() }} 中停用 Xdebug 转储数据的方法

我在启用Xdebug和html_errors=on的PHP7.1.14上使用Symfony4。当我在我的Twig中使用{{dump()}}函数时,由于Xdebug格式不佳(uglydump),打印在屏幕上的数据难以阅读。它也不会转储对象,这在我的情况下是必需的(我将它们视为一个对象,看不到它们的属性)。我记得在带有PHP7.0.13的Symfony3中使用过这个函数,输出显示为带有可折叠数据的冷黑色区域(cooldump)。所有PHP选项和扩展都是相同的。有没有办法强制使用Twig转储? 最佳答案 在Symfony4中,“转储”似乎

PHP:filter_var 清理是否足够安全?

我有一个包含以下行的PHP脚本:$query="SELECT*FROMproductsWHEREproduct_id='".filter_var($_GET[id],FILTER_SANITIZE_NUMBER_INT)."'";这样够安全吗?您将如何改进此代码? 最佳答案 在这种情况下是安全的,但对于更通用的方法,我宁愿将mysql_real_escape_string与类型转换结合使用:$query="SELECT*FROMproductsWHEREproduct_id='".(int)mysql_real_escape_str

php - 我是否正确使用 FILTER_VALIDATE_INT + FILTER_SANITIZE_NUMBER_INT?

尝试验证然后清理$_GET请求。我只是想看看我是否遗漏了什么。这是我的...if(isset($_GET['id'])){$id=filter_input(INPUT_GET,'id',FILTER_VALIDATE_INT);if(!$id){echo'Error';exit();}$id=filter_input(INPUT_GET,'id',FILTER_SANITIZE_NUMBER_INT);$getinfo=mysqli_query($link,sprintf("SELECTcolumn1,column2FROMtableWHEREid='%s'",mysqli_real_

php - 在 TWIG 中渲染 Controller 并显示表单错误

我有indexAction和contactActioncontactAction是一个没有映射字段(FormType)的简单表单,如下所示:/***@Route("/contact",name="contact")*@Template()*@paramRequest$request*@returnarray*/publicfunctioncontactAction(Request$request){$form=$this->createForm(newContactType());$form->handleRequest($request);if($form->isValid()){$

php - 从 Twig 的列表中获取两个随机项目

我在Twig中有一个项目列表,看起来像这样。{%setlistItems=[{"name":"Bob","title":"Director","text":"Boblikeburgers."},{"name":"Sue","title":"Manager","text":"Suelovescashregisters."},{"name":"Tim","title":"Assistant","text":"Timdoesn'tlikeanything."}]%}我想在Twig中随机获得三个可用人员中的两个,以便我可以在我的站点的一个block中显示两个配置文件。(就像一个旋转的双重特征!

php - 如何使用 Twig 显示动态图像 URL?

我恳请您帮助我在Twig模板中显示动态图像URL,如下所示://non-workingpseudocode,myImageFilenamecontainsimagefilename{%image'@AppBundle/Resources/public/images/'+myImageFilename%}{%endimage%}但是Twig只允许静态文件名,就像这样(取自文档)。我试过连接器~就像{%image'@AppBundle/Resources/public/images/'~myImageFilename%}但是还是不行,{%image'@AppBundle/Resources

PHP - Filter_var 替代品?

我构建了一个php脚本来输出以表单形式发布的数据,但我遇到了一个问题。该网站将要运行的服务器运行PHP5.1.6。此版本的PHP不支持filter_var。我需要知道短期内(最好是昨天)的替代方案,但在Google或StackOverflow上找不到直接的东西。也许这里有人过去遇到过同样的问题并为我提供了快速解决方案?这段代码:$email=filter_var($_POST['email'],FILTER_SANITIZE_EMAIL);$answer=filter_var($_POST['answer'],FILTER_SANITIZE_STRING);需要兼容PHP5.1.6,所

PHP filter_input_array() 没有按预期失败

我正在尝试使用filter_input_array()来验证一些发布数据。尽管我尽了最大努力,该函数似乎在$filter数组内返回空值(通过条件),而不是像我预期的那样验证失败并返回false。代码实现示例如下:$filters=array('phone'=>FILTER_VALIDATE_INT,'email'=>FILTER_VALIDATE_EMAIL);if(filter_input_array(INPUT_POST,$filters)){//filtersarevalidatedinserttodatabase}else{//filtersareinvalidreturnto