kissarat

php-array.html

Feb 15th, 2015
416
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 2.71 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head lang="en">
  4.     <meta charset="UTF-8">
  5.     <title></title>
  6.     <style type="text/css">
  7.         body {
  8.             text-align: center;
  9.         }
  10.  
  11.         article {
  12.             margin: auto;
  13.             width: 80%;
  14.         }
  15.  
  16.         textarea, pre {
  17.             display: block;
  18.             margin: auto;
  19.             width: inherit;
  20.             height: 40vh;
  21.         }
  22.  
  23.         button {
  24.             margin: 1mm 0.5mm;
  25.         }
  26.  
  27.         #error {
  28.             color: red;
  29.         }
  30.     </style>
  31. </head>
  32. <body>
  33. <article>
  34.     <h1>JSON to PHP array converter</h1>
  35.     <textarea id="input"></textarea>
  36.     <div id="error"></div>
  37.     <button id="json2php">JSON to PHP Array</button>
  38.     <textarea id="output"></textarea>
  39. </article>
  40. <script>
  41.     function object2array(object) {
  42.         var lines = [];
  43.         lines.push('array(');
  44.         for(var key in object) {
  45.             var value = object[key];
  46.             var line = "'" + key + "' => ";
  47.             if ('object' == typeof value) {
  48.                 var object_lines = object2array(value);
  49.                 line += object_lines[0];
  50.                 lines.push(line);
  51.                 var last = object_lines.length - 1;
  52.                 for (var i = 1; i < last; i++)
  53.                    lines.push('\t' + object_lines[i]);
  54.                lines.push(object_lines[last] + ',');
  55.                continue;
  56.            }
  57.            else if (undefined === value || null === value)
  58.                line += 'null';
  59.            else
  60.                switch (typeof value) {
  61.                    case 'number':
  62.                    case 'boolean':
  63.                        line += value;
  64.                        break;
  65.                    case 'string':
  66.                        line += "'" + value + "'";
  67.                        break;
  68.                }
  69.            lines.push(line + ',');
  70.        }
  71.        lines.push(')');
  72.        return lines;
  73.    }
  74.  
  75.    json2php.onclick = function() {
  76.        var buffer = input.value;
  77.        error.innerHTML = '';
  78.        output.value = '';
  79.        try {
  80.            buffer = JSON.parse(buffer);
  81.        } catch (ex) {
  82.            error.innerHTML = ex.message;
  83.            return false;
  84.        }
  85.        var lines = object2array(buffer);
  86.        output.value = lines.join('\n');
  87.        return false;
  88.    };
  89.    
  90.    load = function() {
  91.        if (localStorage.buffer)
  92.            input.value = localStorage.buffer;
  93.    };
  94.    
  95.    unload = function() {
  96.        var buffer = input.value;
  97.        buffer = buffer.trim();
  98.        if (buffer)
  99.            localStorage.buffer = buffer;
  100.        else
  101.            delete localStorage.buffer;
  102.    };
  103. </script>
  104. </body>
  105. </html>
Advertisement
Add Comment
Please, Sign In to add comment