में regex का उपयोग करके प्रत्येक शब्द का पहला अक्षर कैसे प्राप्त करें मेरे पास एक स्ट्रिंग चर है और मैं इसके प्रत्येक शब्द का पहला अक्षर प्राप्त करना चाहता हूं। मैं अंतिम परिणाम को पहले अक्षर की सरणी बनाना चाहता हूं।PHP
$language = 'Sample Language';
preg_match('/(\b[a-z])+/i', $language, $match);
print_r($match);
जो मुझे मिल रहा है वह केवल पहले शब्द का पहला अक्षर है। ऊपर प्रिंट सरणी ([0] => एस [1] => एस)
अगर मैं यह
preg_match('/(\bL)+/i', $language, $match);
करने के लिए बदल रहा दूसरा शब्द की एल के लिए एक मैच मिल सकता है। तो जाहिर है कि पहले मैच के बाद यह बाकी की तलाश बंद कर देता है। मैं नियमित अभिव्यक्तियों के साथ बहुत अच्छा नहीं हूं। क्या कोई यह बता सकता है कि मैंने क्या गलत किया है?
इनपुट स्ट्रिंग में शब्द हमेशा अंतरिक्ष से अलग नहीं होते हैं। यह काफी अप्रत्याशित है। कुछ प्रारूपों मैं भर में आ गए हैं: "MainLanguage: भाषा" "MainLanguage, भाषा" "MainLanguage: भाषा-प्रांतीय भाषा" यहाँ मैं पाने के लिए एम, एल और एस
मैं अपने सभी अनुरोधों को कवर करने के मेरा उत्तर संपादित किया है। –
यदि आप PHP का उपयोग कर रहे हैं, तो अंतर्निहित फ़ंक्शन का उपयोग क्यों नहीं करते हैं? या प्रत्येक शब्द अक्षर को सरणी के पहले तत्व ($ शब्द [0]) के रूप में एक्सेस करें? यह नमूना अलग-अलग शब्द डिलीमीटरों को भी संभालता है: http://phpfiddle.org/main/code/hnu-qz3 – Andrew