PHP में preg_replace का उपयोग करते समय मैचों में मैं कैसे प्राप्त कर सकता हूं?

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

preg_replace("/[A-Z]/", "$1", $str)
0
जोड़ा संपादित
विचारों: 2

4 उत्तर

Php.net पर preg_replace दस्तावेज़ से:

प्रतिस्थापन के संदर्भ हो सकते हैं   फॉर्म \ n या (PHP 4.0.4 के बाद से) $ n,   बाद के रूप में होने के साथ   पसंदीदा एक। इस तरह के हर संदर्भ   पकड़े गए पाठ द्वारा प्रतिस्थापित किया जाएगा   n'th कोष्ठक पैटर्न द्वारा।

Flubba के उदाहरण देखें।

0
जोड़ा

आपको पैटर्न को कोष्ठक <�कोड> / ([ए-जेड]) / में रखना होगा, इस तरह:

preg_replace("/([A-Z])/", "$1", $str)
0
जोड़ा
@ गम्बो: अपने स्वयं के प्रश्नों का उत्तर देना बिल्कुल ठीक है, यहां तक ​​कि प्रोत्साहित किया जाता है, जब तक कि सवाल साइट पर किसी अन्य का डुप्लिकेट न हो।
जोड़ा लेखक Bill the Lizard, स्रोत

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

0
जोड़ा

\0 will also match the entire matched expression without doing an explicit capture using parenthesis.

preg_replace("/[A-Z]/", "\\0", $str)

As always, you can go to php.net/preg_replace or php.net/ to search the documentation quickly. Quoth the documentation:

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

0
जोड़ा