2014-06-18 3 views
5

Ho una stringa e voglioTWIG come ottenere la prima parola di una stringa?

  • isolare la prima parola per lo styling con style1 e
  • visualizzare il resto della stringa con style2senza la prima parola.

Qualcosa del genere:

<span class="style1">{{ string|firstword() }}</span> 
<span class="style2">{{ string|restofstring() }}</span> 

E 'possibile? Grazie in anticipo.

+0

è possibile scrivere un'estensione http://symfony.com/doc/current/cookbook/templating/twig_extension.html che taglia la stringa e cerca la prima occorrenza di spazio e quindi la sottostringa per quell'occorrenza –

risposta

12

L'ho trovato! con split() e attribute() TWIG funzioni.

{% set array = article.titre|split(' ', 2) %} 
<span class="style1">{{ attribute(array, 0) }}</span><!-- First word --> 
<span class="style2">{{ attribute(array, 1) }}</span><!-- Rest of string --> 

Grazie ad Anjana Silva che mi ha dato l'idea iniziale.

+0

Il mio piacere @AntoineSubit :) –

10

Credo che si possa ottenere ciò usando il comando split in Twig. Per dividere è necessario identificare il separatore tra due parole. Supponi che le tue parole siano separate usando uno spazio. Quindi puoi ottenere la prima e la seconda parola come questa.

{{ "Monday Tuesday" | split(' ')[0] }} 

restituirà il "Lunedi"

{{ "Monday Tuesday" | split(' ')[1] }} 

restituirà il "Martedì"

più su Spalato: - http://twig.sensiolabs.org/doc/filters/split.html

Spero che questo aiuti, Cheers!

+0

Questa soluzione separa tutti parole della mia frase ma voglio solo la prima parola e tutto il resto esclude la prima parola. –