2016-09-09 1 views
3

Je sais comment obtenir la première lettre d'une chaîne dans TWIGTWIG Obtenir la première lettre du HTML après filtre Raw

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

Avec une chaîne HTML comme

<p>This is a sting</p> 

Le renverrait ci-dessus '< '

L'ajout de' Raw '/' escape 'aboutit au même résultat.

J'ai besoin d'afficher cette chaîne en HTML (comme avec Raw) mais obtenir la première lettre (dans le cas ci-dessus «T»). Est-ce que j'utilise le filtre dans le mauvais ordre?

Quelqu'un sait?

Un grand merci d'avance

@ La réponse de Matteo est déjà proche, mais pas tout à fait exactement ce que je voulais. J'ai peut-être mal formulé ma question. Pardon.

Donc, si j'avais une chaîne comme ce

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

L'utilisation brute donnerait

Ceci est une chaîne

Maintenant, ce que je vraiment besoin est d'obtenir la première lettre (T) pour faire quelque chose avec lui comme ajouter des étiquettes autour de lui

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

tout en conservant le reste du code HTML à l'intérieur. Striptags supprime toutes les balises de la chaîne et retourne une chaîne sans la partie HTML. J'espère que je l'ai formulé correctement.

+0

Salut à tous. Si vous pensez que la réponse de @Matteo a répondu à votre question (ce que je pense), pouvez-vous la marquer comme la bonne réponse? Merci! –

+0

C'est proche mais pas tout à fait ce que je cherche –

+0

Utilisez CSS 'p :: first-letter'. – malcolm

Répondre

4

Vous pouvez utiliser le filtre striptags:

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

Here une des solutions de travail

Hope cette aide

+0

est alreay un bon début mais je peux avoir tort formulé ma question (désolé) Ce que je voulais dire était avec '

Ceci est une chaîne

', je voudrais obtenir la première lettre et l'affichage le 'String' comme gras. Les striptags ne le permettent pas car ils suppriment toute la chaîne html. Existe-t-il un moyen de supprimer uniquement les premières balises? –

0

Que diriez-vous ceci:

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

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

Vous pouvez en twigFiddle: http://twigfiddle.com/pk10ip