PHP: स्ट्रिंग में रिक्त स्थान को% 20 में परिवर्तित करें?


84

मैं स्ट्रिंग में रिक्त स्थान कैसे बदल सकता हूं %20?

यहाँ मेरा प्रयास है:

$str = "What happens here?";
echo urlencode($str);

आउटपुट है "What+happens+here%3F", इसलिए रिक्त स्थान का प्रतिनिधित्व नहीं किया जाता है %20

मैं क्या गलत कर रहा हूं?

जवाबों:


200

rawurlencodeइसके बजाय फ़ंक्शन का उपयोग करें ।


1
यदि आप इसका उपयोग url के लिए करते हैं (इसके क्वेरी भाग में नहीं) तो सावधान रहें, परिवर्तित स्लैश के कारण url काम नहीं करेगा। इसलिए यदि आपको केवल रिक्त स्थान (शायद उस URL के लिए) का ध्यान रखने की आवश्यकता है, तो मैं str_replace का सुझाव देता हूं।
लुकास dádek

26

प्लस चिन्ह URL पैरामीटर में एक स्थान वर्ण के लिए ऐतिहासिक एन्कोडिंग है, जैसा कि फ़ंक्शन के लिए सहायता में दर्ज किया गया urlencode()है।

उसी पृष्ठ में वह उत्तर है जिसकी आपको आवश्यकता है - RFC 3986 संगत एन्कोडिंग rawurlencode()प्राप्त करने के लिए उपयोग करें ।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.