পিএইচপি: স্ট্রিংগুলিতে স্পেসগুলিকে% 20 এ রূপান্তর করতে চান?


86

আমি স্ট্রিংগুলিতে স্পেসগুলি কীভাবে রূপান্তর করতে পারি %20?

এখানে আমার প্রচেষ্টা:

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

আউটপুট হয় "What+happens+here%3F", তাই ফাঁকা স্থান হিসাবে প্রতিনিধিত্ব করা হয় না %20

আমি কি ভুল করছি?

উত্তর:


201

ব্যবহার করুন rawurlencodeপরিবর্তে ফাংশন।


4
আপনি যদি এটি ইউআরএল (এটির কোয়েরির অংশ নয়) এর জন্য ব্যবহার করেন তবে সাবধান হন, রূপান্তরিত স্ল্যাশ ইউআরএলকে কাজ না করার কারণ করে। সুতরাং আপনার যদি কেবলমাত্র জায়গাগুলির যত্ন নেওয়া প্রয়োজন (সম্ভবত সেই URL এর জন্য), আমি str_replace এর পরামর্শ দিই।
লুকা এডেক

26

প্লাস চিহ্নটি হ'ল ইউআরএল প্যারামিটারে কোনও স্থান অক্ষরের জন্য historicতিহাসিক এনকোডিং, ফাংশনের জন্য সহায়তায় নথিবদ্ধ হিসাবে urlencode()

সেই একই পৃষ্ঠায় আপনার প্রয়োজনীয় উত্তর রয়েছে - আরএফসি 3986 সামঞ্জস্যপূর্ণ এনকোডিং rawurlencode()পেতে পরিবর্তে ব্যবহার করুন।


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.