Symfony 2从数据库中定制值

时间:2014-10-21 09:26:49

标签: symfony format

当我使用此命令时:

{{ news.getnewsid() }}

我明白了:

11112223333

但我希望以这种格式查看它:

1111 2222 3333

在每个第4个号码后添加& nbsp。

这一行总共有12个数字。

我认为anserw很简单,但我现在不知道怎么做。

2 个答案:

答案 0 :(得分:2)

您可以使用Twig的number_format过滤器:http://twig.sensiolabs.org/doc/filters/number_format.html 将空格定义为千位分隔符时,它应该有效 编辑:对不起,不是一个好主意,因为这会产生三个字符的块。

"切片" filter也可以用于此,但你必须分别输出每个数字块 与"分裂"相同输出数组的过滤器(也可以使用)。

您也可以在PHP中编写自己的过滤器,如果您在应用程序中更频繁地使用它,我认为这是最好的ida。 为Twig编写扩展:

答案 1 :(得分:1)

最简单的方法是......

{{ news.getnewsid()|split('', 4)|join(' ') }}

但是就像@Johni说的那样,它根本不可重复使用,因为你每次都要记住它。

除了在枝条扩展中执行此操作之外,您还可以在您的实体中执行此操作,例如..

public function getFormattedNewsId()
{
    if (null === $this->newsid) {
        return null;
    }

    return implode(' ', str_split($this->newsid, 4));
}

然后可以使用$news->getFormattedNewsId()或使用{{ news.formattedNewsId }}的Twig模板在您的应用中的任何位置调用。