जवाबों:
$name = str_replace(' ', '_', $name);
जैसा कि अन्य लोगों ने बताया है कि इसका उपयोग कैसे करना है str_replace, तो आप इसे प्राप्त करने के लिए रेगेक्स का भी उपयोग कर सकते हैं।
$name = preg_replace('/\s+/', '_', $name);
$name = str_replace(' ', '_', $name);
Http://php.net/str_replace पर कॉल करें :$input = str_replace(' ', '_', $input);
Str_replace का उपयोग करें :
str_replace(" ","_","Alex Newton");
आप अंडरस्कोर जैसे शब्दों को शुरुआत या अंत से रोकने के लिए भी कर सकते हैं जैसे कि _words_more_words_, यह सफेद रिक्त स्थान के साथ शुरुआत और अंत से बचता है।
$trimmed = trim($string); // Trims both ends
$convert = str_replace('', '_', $trimmed);
यह मेरे कोड का हिस्सा है जो मेरी फ़ाइलों के नामकरण के लिए अंडरस्कोर बनाता है:
$file = basename($_FILES['upload']['name']);
$file = str_replace(' ','_',$file);
Strtrस्ट्रिंग के बजाय एकल वर्णों को प्रतिस्थापित करता है, इसलिए यह इस उदाहरण के लिए एक अच्छा समाधान है। माना जाता strtrहै कि इससे अधिक तेज़ है str_replace(लेकिन इस उपयोग के मामले में वे दोनों बहुत तेजी से हैं)।
echo strtr('Alex Newton',' ','_');
//outputs: Alex_Newton
str_replace- यह स्पष्ट समाधान है। लेकिन कभी-कभी आपको यह जानने की जरूरत है कि वास्तव में रिक्त स्थान क्या हैं। मुझे csv फ़ाइल से रिक्त स्थान की समस्या है।
दो चार थे लेकिन उनमें से एक 0160 (0x0A0) था और दूसरा अदृश्य था (0x0C2)
मेरा अंतिम समाधान:
$str = preg_replace('/\xC2\xA0+/', '', $str);
मुझे एचसीएक्स दर्शक से एमसी (आधी रात के दर्शक - एफ 3 - एफ 9) से अदृश्य प्रतीक मिला
'/\s+/'?