2014-06-18 7 views
5

मैं एक स्ट्रिंग मिल गया है और मैं चाहता हूँTWIG स्ट्रिंग के पहले शब्द को कैसे प्राप्त करें?

  • पहला शब्द बिना style2के साथ स्ट्रिंग के बाकी style1 और
  • प्रदर्शन के साथ स्टाइल के लिए पहला शब्द अलग करने के लिए।

कुछ इस तरह:

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

क्या यह संभव है? पहले ही, आपका बहुत धन्यवाद।

+0

आप एक एक्सटेंशन http://symfony.com/doc/current/cookbook/templating/twig_extension.html लिख सकते हैं जो स्ट्रिंग को ट्रिम करता है और अंतरिक्ष के पहले अवसर की तलाश करता है और उसके बाद उस प्रक्षेपण को –

उत्तर

12

मुझे यह मिला!split() और attribute() TWIG फ़ंक्शंस के साथ।

{% 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 --> 

अंजना सिल्वा के लिए धन्यवाद जो मुझे इस विचार की भिक्षा देते हैं।

+0

मेरी खुशी @ एंटोनीसबिट :) –

10

मुझे विश्वास है कि आप Twig में विभाजन कमांड का उपयोग करके इसे प्राप्त कर सकते हैं। विभाजित करने के लिए आपको विभाजक को दो शब्दों के बीच पहचानने की आवश्यकता है। मान लें कि आपके शब्दों को एक स्पेस का उपयोग करके अलग किया गया है। फिर आप इस तरह के पहले और दूसरे शब्दों को प्राप्त कर सकते हैं।

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

वापसी करेंगे "सोमवार"

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

वापसी करेंगे "Tuesday"

अधिक विभाजन के बारे में: - http://twig.sensiolabs.org/doc/filters/split.html

आशा इस मदद करता है, चीयर्स!

+0

से अलग करता है यह समाधान सभी को अलग करता है मेरी सजा के शब्द लेकिन मैं सिर्फ पहला शब्द चाहता हूं और बाकी सभी ने पहले शब्द को छोड़ दिया। –

संबंधित मुद्दे