2008-08-05 23 views
49

मैं कुछ शब्दों के पूंजी अक्षरों को पकड़ने और उन्हें स्पैन टैग में लपेटने की कोशिश कर रहा हूं। मैं preg_replace का उपयोग निकालने और लपेटने के उद्देश्यों के लिए कर रहा हूं, लेकिन यह कुछ भी आउटपुट नहीं कर रहा है।PHP में preg_replace का उपयोग करते समय मैचों में मैं कैसे प्राप्त कर सकता हूं?

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str) 

उत्तर

50

आप, कोष्ठक /([A-Z])/ में पैटर्न लगाने की जरूरत है इस तरह:

preg_replace("/([A-Z])/", "<span class=\"initial\">$1</span>", $str) 
+7

@ गम्बो: अपने स्वयं के प्रश्नों का उत्तर देना बिल्कुल ठीक है, यहां तक ​​कि प्रोत्साहित किया जाता है, जब तक कि सवाल साइट पर किसी अन्य का डुप्लिकेट न हो। –

8

php.net पर preg_replace documentation से:

प्रतिस्थापन का संदर्भ हो सकते हैं फॉर्म \ n या (PHP 4.0.4 के बाद) $ n, बाद वाले फॉर्म के साथ PR eferred एक। इस तरह के प्रत्येक संदर्भ को एनएचथ संश्लेषित पैटर्न द्वारा पर कब्जा कर लिया गया टेक्स्ट बदल दिया जाएगा।

फ़्लुबा का उदाहरण देखें।

25

\0 ब्रांड्स का उपयोग करके स्पष्ट कैप्चर किए बिना पूरी मिलान की अभिव्यक्ति से मेल खाता है।

preg_replace("/[A-Z]/", "<span class=\"initial\">\\0</span>", $str) 

हमेशा की तरह, आप php.net/preg_replace या php.net/ < जो कुछ खोज पद > जल्दी प्रलेखन खोज करने के लिए जा सकते हैं। प्रलेखन:

\ 0 या $ 0 पूरे पैटर्न से मेल खाने वाले पाठ को संदर्भित करता है।

6

अपने वांछित कैप्चर के चारों ओर कोष्ठक का उपयोग करें।

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

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