2010-08-15 12 views
26

रखते हुए मैं स्ट्रैटेयरिंग (या कुछ समान) का उपयोग कैसे कर सकता हूं ताकि स्वरूपण के लिए कुछ पाठ को प्रतिस्थापित किया जा सके और फिर इसे उसी कैप्स के साथ वापस कर सकें?str_ireplace() केस

उदाहरण:

$original="The quick red fox jumps over the lazy brown dog."; 
$find="thE"; 

print str_ireplace($find,'<b>'.$find.'</b>',$original); 

कि उत्पादन: त्वरित लाल लोमड़ी आलसी भूरे रंग के कुत्ते पर कूदता है।

मैं इसे मूल मामला रखना चाहता हूं और केवल इस प्रारूप में, बोल्ड टेक्स्ट को स्वरूपण लागू करना चाहता हूं।

धन्यवाद।

उत्तर

39
$original = "The quick red fox jumps over the lazy brown dog."; 
$new = preg_replace("/the/i", "<b>\$0</b>", $original); 

देता है " त्वरित लाल लोमड़ी आलसी भूरे रंग के कुत्ते पर कूदता है।" यदि आप विशिष्ट शब्दों से मेल खाना चाहते हैं, तो आप शब्द सीमाएं जोड़ सकते हैं: preg_replace('/\bthe\b/i', ...

आप प्रतिस्थापन parameterize करने के लिए चाहते हैं, आप preg_quote उपयोग कर सकते हैं:

preg_replace('/\b' . preg_quote($word, "/") . '\b/i', "<b>\$0</b>", $original); 
+0

बहुत बढ़िया, धन्यवाद। – Francisc

+0

* आलसी कुत्ते – Popnoodles

2

या तो सटीक शब्द के साथ बदलें, या preg_replace का उपयोग करें:

preg_replace('/(The)/i', "<strong>$1</strong>", $original); 
+0

पर त्वरित ब्राउन लोमड़ी कूदता है धन्यवाद, mhitza। – Francisc

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