twig and wordpress sanitize&两次

时间:2017-05-29 14:43:19

标签: php html wordpress twig

我正在使用的Wordpress插件使用Twig模板语言。

我想将一个类别列表输出到模板。我是这样从WP数据库中获取它们的:

$terms = get_terms( 'groups' );

在Twig模板中,我想输出每个术语:

{% for term in terms %}
    <a href="{{ term.slug }}">{{ term.name }}</a>
{% endfor %}

问题是,我的一个term.name是'HIV&amp;艾滋病',它由get_terms()和Twig消毒,导致'艾滋病&amp; amp; amp;艾滋病”。

我尝试在preg_replace阶段后使用get_terms()进行清理:

for( $i = 0; $i < count( $terms ); $i++ )
{
    $terms[$i].name = preg_replace('/amp;/', '', $terms[$i]);
}

虽然在页面上只有一组术语时可以,但实际上我还有其他几个地方需要显示术语,包括页面标题和页面内容中的几次。

所以,问题是,是否有一种'正确'的方法来阻止Wordpress和Twig消毒&amp; (&符号)角色两次?

由于

1 个答案:

答案 0 :(得分:0)

如果要在Twig中显示值,可以使用 var express = require('express'); var bodyParser = require('body-parser'); var mysql = require('mysql'); var app = express(); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({extended:true})); //constants const STATUS_SUCCESS = "success"; const STATUS_FAILURE = "failure"; mysql var connection = mysql.createConnection({ host : '172.0.0.1', user : '****', password : '****', database : 'parking_application' }); connection.connect(); app.listen(4567,'localhost',function(){ console.log("server started"); }); 过滤器。默认所有值都将被转义。

raw

请参阅:Twig raw filter