Cara Encode String pada URL
Kali ini sedikit bahasan pendek tapi cukup bermanfaat ketika berhubungan dengan URL atau encode string. Sebagai contoh kalau kita mau membuat string untuk dimasukkan pada link URL dari "|" menjadi "%7C" atau semisal "spasi" menjadi "%20".
Kasus ini saya alami ketika membuat tombol share untuk tweeter, bertemu dengan character "|" pada text yang akan dikirim ke tweeter, alhasil share pada tweeter tidak bekerja, bisa dilihat dibawah.
<a href="https://twitter.com/intent/tweet?text=Artikel | Cara Encode String pada URL | https://anindyadev.com/source-code-program" class="popup">Share Tweeter</a>
kita perlu mengganti "Artikel | Cara Encode String pada URL | https://anindyadev.com/source-code-program" menjadi seperti dibawah:
<a href="https://twitter.com/intent/tweet?text=Artikel%20%7C%20Cara%20Encode%20String%20pada%20URL%20%7C%20http%3A%2F%2Fanindyadev.com%2Fsource-code-program.htm" class="popup">Share Tweeter</a>
Untuk itu kita perlu meng-encode string untuk kemudian dimasukkan ke URL. Untuk encode kita dapat menggunakan urlencode/urldecode; atau juga bisa menggunakan rawurlencode/rawurldecode.
Contoh:
<?php
$text_encode=urlencode("Artikel | Cara Encode String pada URL | http://anindyadev.com/source-code-program.htm");
?>
<a href="https://twitter.com/intent/tweet?text=<?php echo $text_encode; ?>" class="popup">Share Tweeter</a>
Untuk urldecode/rawurldecode digunakan untuk mengembalikan ke string aslinya.
Perbedaan
Perbedaan antara urlencode dan rawurlencode adalah sebagai berikut:
- urlencode encodes menurut application/x-www-form-urlencoded (spasi diencode dengan +) sedangkan
- rawurlencode encodes menurut Percent-Encoding (spasi diencode dengan %20).
Semoga bermanfaat.