14 Oktober 2009

PHPJS: fungsi di PHP dengan javascript

Pernahkan Anda menemui kesulitan ketika mengubah nilai variabel di PHP ke javascript atau sebaliknya. Tentunya bikin pusing.
Saya juga pusing ketika punya string url "http://gecko.web.id/belajar_php/index_mp3_terbaru.php" di javascript kemudian yang saya inginkan hanyalah nama filenya saja, yakni "index_mp3_terbaru.php".
Menurut ilmu yang saya punya, untuk mendapatkan string "index_mp3_terbaru.php" hanya bisa dengan PHP. (mungkin karena keterbatasan ilmu saya). Kalau dengan PHP bisa menggunakan explode() atau parse_url. Tapi perpindahan string di javascript ke PHP dan sebaliknya itulah yang bikin pusing.
Untung saya ingat ada PHPJS. PHPJS adalah kumpulan fungsi Javascript untuk menggantikan fungsi-fungsi yang ada di PHP. Untuk lebih jelasnya, Anda bisa mengunjungi http://phpjs.org.
Pada artikel ini saya akan mencoba menggunakan fungsi explode() untuk menggantikan explode() di PHP untuk menyelesaikan kasus di atas.
Anda bisa download keseluruhan fungsi di PHPJS kemudian embed di halaman Anda. Atau Anda bisa mengambil fungsi yang Anda perlukan saja kemudian menggunakan fungsi itu. Pada contoh ini kita pakai cara yang terakhir.
1. ambil fungsi explode di PHPJS. http://phpjs.org/functions/view/396
2. Fungsinya seperti ini:
  1. function explode( delimiter, string, limit ) {  
  2.     // Splits a string on string separator and return array of components. If limit is positive only limit number of components is returned. If limit is negative all components except the last abs(limit) are returned.    
  3.     //   
  4.     // version: 905.412  
  5.     // discuss at: http://phpjs.org/functions/explode  
  6.     // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  7.     // +     improved by: kenneth  
  8.     // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  9.     // +     improved by: d3x  
  10.     // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  11.     // *     example 1: explode(' ', 'Kevin van Zonneveld');  
  12.     // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}  
  13.     // *     example 2: explode('=', 'a=bc=d', 2);  
  14.     // *     returns 2: ['a', 'bc=d']  
  15.    
  16.     var emptyArray = { 0: '' };  
  17.       
  18.     // third argument is not required  
  19.     if ( arguments.length < 2 ||  
  20.         typeof arguments[0] == 'undefined' ||  
  21.         typeof arguments[1] == 'undefined' )  
  22.     {  
  23.         return null;  
  24.     }  
  25.    
  26.     if ( delimiter === '' ||  
  27.         delimiter === false ||  
  28.         delimiter === null )  
  29.     {  
  30.         return false;  
  31.     }  
  32.    
  33.     if ( typeof delimiter == 'function' ||  
  34.         typeof delimiter == 'object' ||  
  35.         typeof string == 'function' ||  
  36.         typeof string == 'object' )  
  37.     {  
  38.         return emptyArray;  
  39.     }  
  40.    
  41.     if ( delimiter === true ) {  
  42.         delimiter = '1';  
  43.     }  
  44.       
  45.     if (!limit) {  
  46.         return string.toString().split(delimiter.toString());  
  47.     } else {  
  48.         // support for limit argument  
  49.         var splitted = string.toString().split(delimiter.toString());  
  50.         var partA = splitted.splice(0, limit - 1);  
  51.         var partB = splitted.join(delimiter.toString());  
  52.         partA.push(partB);  
  53.         return partA;  
  54.     }  
  55. }  
3. Kemudian embed di kode HTML Anda dan pakai seperti menggunakan function javascript biasa.
4. Berikut kode lengkap contohnya:
  1.   
  2.     
  3. "javascript">  
  4. function explode( delimiter, string, limit ) {  
  5.     // Splits a string on string separator and return array of components. If limit is positive only limit number of components is returned. If limit is negative all components except the last abs(limit) are returned.    
  6.     //   
  7.     // version: 905.412  
  8.     // discuss at: http://phpjs.org/functions/explode  
  9.     // +     original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  10.     // +     improved by: kenneth  
  11.     // +     improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  12.     // +     improved by: d3x  
  13.     // +     bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)  
  14.     // *     example 1: explode(' ', 'Kevin van Zonneveld');  
  15.     // *     returns 1: {0: 'Kevin', 1: 'van', 2: 'Zonneveld'}  
  16.     // *     example 2: explode('=', 'a=bc=d', 2);  
  17.     // *     returns 2: ['a', 'bc=d']  
  18.    
  19.     var emptyArray = { 0: '' };  
  20.       
  21.     // third argument is not required  
  22.     if ( arguments.length < 2 ||  
  23.         typeof arguments[0] == 'undefined' ||  
  24.         typeof arguments[1] == 'undefined' )  
  25.     {  
  26.         return null;  
  27.     }  
  28.    
  29.     if ( delimiter === '' ||  
  30.         delimiter === false ||  
  31.         delimiter === null )  
  32.     {  
  33.         return false;  
  34.     }  
  35.    
  36.     if ( typeof delimiter == 'function' ||  
  37.         typeof delimiter == 'object' ||  
  38.         typeof string == 'function' ||  
  39.         typeof string == 'object' )  
  40.     {  
  41.         return emptyArray;  
  42.     }  
  43.    
  44.     if ( delimiter === true ) {  
  45.         delimiter = '1';  
  46.     }  
  47.       
  48.     if (!limit) {  
  49.         return string.toString().split(delimiter.toString());  
  50.     } else {  
  51.         // support for limit argument  
  52.         var splitted = string.toString().split(delimiter.toString());  
  53.         var partA = splitted.splice(0, limit - 1);  
  54.         var partB = splitted.join(delimiter.toString());  
  55.         partA.push(partB);  
  56.         return partA;  
  57.     }  
  58. }  
  59.     
  60.   
  61.     
  62.     
  63.   
  64.    
  65. "javascript">  
  66.   
  67. awal = 'http://gecko.web.id/belajar_php/index_mp3_terbaru.php';  
  68.   
  69. hasil = explode('/', awal );  
  70.   
  71. document.write(hasil[4]);  
  72.   
  73.   
  74.   
  75.     
  76.   
Berikut hasil dari script di atas. Dan ingat script di atas pure HTML dan javascript.
phpjs explode fungsi php dengan javascript

Tidak ada komentar:

Posting Komentar

About Me

Foto saya
Dalam hati terucap doa Ingin segera bertemu Begitu ada kesempatan Tak ku lewatkan begitu saja Langkahku semakin cepat Sungguh ku ingin segera bertemu Dengan kekasihku yang adalah kamu Tak ku hiraukan meski malam begitu pekat Sekian lama berpisah Membuatku begitu rindu padamu Setiap malam berharap sendiri Ingin segera bertemu Kalau saja waktu itu sayapku tak patah Pasti ku kan terbang menuju kehangatan pelukanmu