数据属性中的树枝变量



我有一个问题,一个twig变量在data-属性中有一个过滤器,以便将一些内容传递到引导模式中。问题是过滤器混淆电子邮件,它改变了变量的内容:https://github.com/Propaganistas/Email-Obfuscator#twig

我的代码:

{% for i in 1..20 %}
<a data-content="{{ _context['content_' ~ i ~ '_raw']|obfuscateEmail }}" data-toggle="modal" href="#modal" class="btn btn-primary">...</a>
{% endfor %}

我已经试图逃避它,但没有任何成功。问题总是相同的,要么 html 代码是错误的,因为变量内的引号来自 obfuscateEmail 过滤器,要么模态不起作用或显示纯 html。

问题在于插件将输出标记为安全,从而返回有效的HTML,这会破坏您的HTML

您可以调整扩展程序以满足您的需求

<?php 
namespace PropaganistasEmailObfuscatorTwig;
use Twig_Extension;
use Twig_SimpleFilter;
class Extension extends Twig_Extension
{
/**
* Returns the name of the extension.
*
* @return string The extension name
*/
public function getName()
{
return 'propaganistas.emailObfuscator';
}
/**
* Returns a list of filters to add to the existing list.
*
* @return array An array of filters
*/
public function getFilters()
{
return array(
new Twig_SimpleFilter(
'obfuscateEmail',
array($this, 'parse')
),
);
}
/**
* Twig filter callback.
*
* @return string Filtered content
*/
public function parse($content, $is_safe = false)
{
$content = obfuscateEmail($content);
return $is_safe ? new Twig_Markup($content, 'UTF-8') : $content;
}
}

最新更新