मामले में चतुर 3 के बारे में कुछ जानकारी अगर किसी चतुर 2 में चतुर 3 में और नहीं ही हासिल करना चाहते हैं:
पहली बात यह है कि आप बनाने के लिए कोष्ठक जोड़ने की जरूरत है यह चलेगा। substr:$bar_at+1
काम नहीं करेगा लेकिन substr:($bar_at+1)
काम करेगा।
लेकिन वास्तव में आप सरल वाक्य विन्यास का उपयोग कर सकते हैं:
{assign var="var" value="ABC | DEFGH"}
{$var|substr:($var|strpos:"|"+1)}
यह आपको शुरुआत में अंतरिक्ष के साथ DEFGH
दे देंगे (पहले और |
मेरी उदाहरण अपने प्रश्न में और में वर के अंदर रिक्त स्थान हैं) और आप चाहते हैं के रूप में अंतरिक्ष के बिना स्ट्रिंग प्राप्त करने के लिए आप इस मामले +2
बजाय +1
में उपयोग करना चाहिए:
{$var|substr:($var|strpos:"|"+2)}
उन ऊपर चतुर 3.1.19
में परीक्षण किया गया।
आपको यह भी पता होना चाहिए कि पिछले संस्करणों में (Smarty 3.1 से पहले) यदि आपके स्ट्रिंग यूटीएफ -8 अक्षरों में है तो आपको mb_
फ़ंक्शन का उपयोग करना चाहिए।
Smarty 3.1 के रूप में यदि mbstring
एक्सटेंशन स्थापित है तो Smarty स्वचालित रूप से उस मामले में mb_
फ़ंक्शंस का उपयोग करता है, इसलिए utf-8 वर्णों में कोई समस्या नहीं होगी।
आप Smarty utf-8 encoding
स्रोत
2014-07-30 06:18:50
के बारे में अधिक पढ़ सकते हैं क्या आप आउटपुट के रूप में मिलता है? – BoltClock
संभावित डुप्लिकेट: http://stackoverflow.com/questions/4325283/smarty-substr-a-variable –
देखें [यह] (http://www.smarty.net/forums/viewtopic.php?p=48137) Smarty विषय। –