TWIG在Raw过滤器后获取HTML的第一个字母

时间:2016-09-09 13:10:00

标签: php twig symfony symfony-3.1

我知道如何在TWIG中获取字符串的第一个字母

<p>The first letter is {{someString | first}}</p>

使用类似

的HTML字符串
<p>This is a sting</p>

以上将返回'&lt;'

添加'Raw'/'escape'会导致相同的结果。

我需要将该字符串显示为HTML(与Raw一样),但要获得第一个字母(在上面的情况下为'T')。

我是否以错误的顺序使用过滤器?

有谁知道?

非常感谢

@Matteo的回答已经接近但不完全正是我想要的。我可能错误地提出了我的问题。遗憾。

所以如果我有这样的字符串

<p>This is a <strong>string</strong></p>

使用raw会给出

这是字符串

现在我真正需要的是获得第一个字母(T)来做它,就像在它周围添加标签一样

<span>T</span>his is a <strong>string</string>

同时仍保留其余的HTML内容。 Striptags删除字符串中的所有标记,并返回没有HTML部分的纯字符串。 我希望我做得对。

2 个答案:

答案 0 :(得分:4)

您可以使用striptags过滤器:

<p>The first letter is {{someString|striptags | first}}</p>

Here一个有效的解决方案

希望这个帮助

答案 1 :(得分:0)

这个怎么样:

{% set someString = "This is a <strong>String<strong>"%}

<span>{{someString|striptags|first}}</span>{{someString|slice[4:]|raw}}

你可以试试twigFiddle: http://twigfiddle.com/pk10ip