2010-09-13 26 views
5

मुझे पता है कि यह वास्तव में एक साधारण सवाल है, लेकिन मैं सोच रहा था कि a native php method to inject a string into another string है या नहीं। एक नए पाठ मैनिपुलेशन के लिए मेरी सामान्य प्रतिक्रिया manual की स्ट्रिंग फ़ंक्शंस की सूची से परामर्श करना है। लेकिन मुझे स्ट्रिंग को किसी अन्य स्ट्रिंग में स्पष्ट रूप से डालने के लिए कोई मूल विधि नहीं दिखाई गई, इसलिए मुझे लगा कि मैं SO से परामर्श लेगा।एक स्ट्रिंग में एक स्ट्रिंग डालें जो इंडेक्स

उत्तर संभवतः php देशी स्ट्रिंग फ़ंक्शंस का कुछ प्रकार का संयोजन है या बस रेगेक्स (जो मेरी आंखों का खून बह रहा है और मेरा दिमाग पिघला देता है इसलिए मैं इससे बचता हूं)।

पूर्व: some-image.jpg इस तरह की स्ट्रिंग ले लो और .jpg से पहले .big इंजेक्षन some-image.big.jpg

उत्तर

8

You can do anything with regular expressions!

अपने विशिष्ट अनुरोध के लिए, समाधान होगा:

$var = 'myimage.jpg'; 
$new_var = preg_replace('/\.jpg$/', '.big$0', $var); 

मैं रेगुलर एक्सप्रेशन लिखने के लिए, जैसा कि वे विकास (here's a starting point) में बहुत उपयोगी हो सकता है पर पढ़ने का सुझाव होगा।

+0

लॉल मेरी आंख की खून बहने वाली टिप्पणी का संदर्भ लें। मैं regex का उपयोग करने का विरोध नहीं कर रहा हूँ, बस इसे लिख रहा हूँ !!! haha। हालांकि मैं इस तथ्य के साथ आ गया हूं कि मुझे बकाया और इसे बेहतर सीखना है। –

+1

रीगिक्स के लिए मेरी आंख की नफरत ... यह रेगेक्स पर एक शानदार ट्यूटोरियल है - http://www.phpfreaks.com/tutorial/regular-expressions-part1---basic-syntax –

+0

@Derek http: // www। नियमित-expressions.info/tutorial.html यदि आप रेगेक्स को बेहतर सीखना चाहते हैं;) –

24

आप substr_replace उपयोग कर सकते हैं के साथ एक शून्य लंबाई स्ट्रिंग की जगह एक स्ट्रिंग डालने के लिए आपका सम्मिलन:

$string = "some-image.jpg"; 
$insertion = ".big"; 
$index = 10; 

$result = substr_replace($string, $insertion, $index, 0); 

मैनुअल पृष्ठ (length (4) तर्क का वर्णन) से:

तो लंबाई शून्य है तो इस समारोह ऑफसेट दी शुरू में स्ट्रिंग में प्रतिस्थापन डालने के प्रभाव पड़ेगा।

+0

गह! सेकंड्स द्वारा बीटन :( – erisco

+1

बहुत बेहतर उत्तर आईएमओ। इस के रूप में सरल कुछ के लिए रेगेक्स का उपयोग करना – Andy

+0

है यह मानता है कि हम सूचकांक जानते हैं। हम शायद नहीं ... इसलिए हाँ, regex – CptAJ

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