JavaScript var_dump (Mark 2)
A typical useage:
document.write(var_dump(ANY-JS-VAR,'html'));
1 2 function var_dump(data,addwhitespace,safety,level) { 3 var rtrn = ''; 4 var dt,it,spaces = ''; 5 if(!level) {level = 1;} 6 for(var i=0; i<level; i++) { 7 spaces += ' '; 8 }//end for i<level 9 if(typeof(data) != 'object') { 10 dt = data; 11 if(typeof(data) == 'string') { 12 if(addwhitespace == 'html') { 13 dt = dt.replace(/&/g,'&'); 14 dt = dt.replace(/>/g,'>'); 15 dt = dt.replace(/</g,'<'); 16 }//end if addwhitespace == html 17 dt = dt.replace(/\"/g,'\"'); 18 dt = '"' + dt + '"'; 19 }//end if typeof == string 20 if(typeof(data) == 'function' && addwhitespace) { 21 dt = new String(dt).replace(/\n/g,"\n"+spaces); 22 if(addwhitespace == 'html') { 23 dt = dt.replace(/&/g,'&'); 24 dt = dt.replace(/>/g,'>'); 25 dt = dt.replace(/</g,'<'); 26 }//end if addwhitespace == html 27 }//end if typeof == function 28 if(typeof(data) == 'undefined') { 29 dt = 'undefined'; 30 }//end if typeof == undefined 31 if(addwhitespace == 'html') { 32 if(typeof(dt) != 'string') { 33 dt = new String(dt); 34 }//end typeof != string 35 dt = dt.replace(/ /g," ").replace(/\n/g,"<br>"); 36 }//end if addwhitespace == html 37 return dt; 38 }//end if typeof != object && != array 39 for (var x in data) { 40 if(safety && (level > safety)) { 41 dt = '*RECURSION*'; 42 } else { 43 try { 44 dt = var_dump(data[x],addwhitespace,safety,level+1); 45 } catch (e) {continue;} 46 }//end if-else level > safety 47 it = var_dump(x,addwhitespace,safety,level+1); 48 rtrn += it + ':' + dt + ','; 49 if(addwhitespace) { 50 rtrn += '\n'+spaces; 51 }//end if addwhitespace 52 }//end for...in 53 if(addwhitespace) { 54 rtrn = '{\n' + spaces + rtrn.substr(0,rtrn.length-(2+(level*3))) + '\n' + spaces.substr(0,spaces.length-3) + '}'; 55 } else { 56 rtrn = '{' + rtrn.substr(0,rtrn.length-1) + '}'; 57 }//end if-else addwhitespace 58 if(addwhitespace == 'html') { 59 rtrn = rtrn.replace(/ /g," ").replace(/\n/g,"<br>"); 60 }//end if addwhitespace == html 61 return rtrn; 62 }//end function var_dump