555 की टेस्टिंग चल रही है

मैं "परीक्षण" करना चाहता हूं पहला अक्षर कैप्स बाकी एक नमूने के नीचे जैसा छोटा दिखता है

555 की टेस्टिंग चल रही है

$s = '555 testing is going on';

मुझे कुछ ऐसा चाहिए

परिणाम = 555 परीक्षण चल रहा है

php
-6
Aman Sharma 23 सितंबर 2019, 22:10
3
कृपया हमें केवल आपके लिए समस्या का समाधान करने के लिए न कहें। हमें दिखाएं कि आपने स्वयं समस्या को हल करने का प्रयास कैसे किया, फिर हमें दिखाएं कि परिणाम क्या था, और हमें बताएं कि आपको ऐसा क्यों लगता है कि यह काम नहीं कर रहा था। हमें क्या काम नहीं कर रहा है की स्पष्ट व्याख्या दें और एक न्यूनतम, पूर्ण और सत्यापन योग्य उदाहरण प्रदान करें। . एक अच्छा प्रश्न कैसे पूछें पढ़ें। सुनिश्चित करें कि टूर करें और पढ़ें यह.
 – 
Jay Blanchard
23 सितंबर 2019, 22:18
1
आप preg_split का उपयोग करने का प्रयास कर सकते हैं यदि आप अपने स्ट्रिंग पैटर्न को जानते हैं या आप preg_replace_callback का उपयोग कर सकते हैं
 – 
502_Geek
24 सितंबर 2019, 09:05

2 जवाब

मैं कहूंगा कि आप ऐसा कुछ ढूंढ रहे हैं:

<?php
echo preg_replace_callback (
    '|\d\s+([a-z])|',
    function ($matches) {
        return strtoupper($matches[0]);
    },
    "555 testing is going on 4 ever."
);

रेगुलर एक्सप्रेशन एक या अधिक सफेद रिक्त स्थान के बाद अंक के बाद किसी भी लोअरकेस वर्ण से मेल खाता है। मैच को रिप्लेसमेंट फंक्शन को सौंप दिया जाता है, उस फंक्शन के रिटर्न वैल्यू को ओरिजिनल मैच के रिप्लेसमेंट के रूप में इस्तेमाल किया जाता है।

आउटपुट स्पष्ट रूप से है:

555 की टेस्टिंग 4 एवर पर चल रही है।

1
arkascha 23 सितंबर 2019, 22:33

अंकों के बाद अपर केस कैरेक्टर से मिलान करने और बदलने के लिए यहां एक कोड दिया गया है।

<?php
$s = '555 testing is going on 4a';
echo preg_replace_callback('/\d\s*([a-z])/',
    function($matches) {
    return str_replace($matches[1], '', $matches[0]) . strtoupper($matches[1]);
}, $s);

रेगुलर एक्सप्रेशन अंकों से मेल खाता है फिर 0 या अधिक रिक्त स्थान और कम केस वर्ण। उम्मीद है ये मदद करेगा।

1
sifat kabir 23 सितंबर 2019, 23:27