bởi Linh

 

 

Code Beautifier đa ngôn ngữ






try { let formatted = ''; if (lang === 'html') { formatted = prettier.format(code, { parser: "html", plugins: prettierPlugins, }); } else if (lang === 'css') { formatted = prettier.format(code, { parser: "css", plugins: prettierPlugins, }); } else if (lang === 'js') { formatted = prettier.format(code, { parser: "babel", plugins: prettierPlugins, semi: true, singleQuote: true, }); } else if (lang === 'php') { // PHP rất khó format client-side, làm thủ công thụt đầu dòng cơ bản: formatted = phpBasicBeautify(code); } else { formatted = code; }

document.getElementById('code').value = formatted; } catch (error) { alert('Lỗi khi làm đẹp code: ' + error.message); } }

function phpBasicBeautify(code) { // Thụt đầu dòng cơ bản cho PHP (chỉ ví dụ) const lines = code.split('\n'); let indentLevel = 0; const indentSize = 2; const indentChar = ' '; const increaseIndentKeywords = ['{', '(', '[']; const decreaseIndentKeywords = ['}', ')', ']'];

return lines.map(line => { let trimmed = line.trim();

// Giảm indent nếu bắt đầu bằng dấu đóng if (decreaseIndentKeywords.some(k => trimmed.startsWith(k))) { indentLevel = Math.max(indentLevel - 1, 0); }

const indentedLine = indentChar.repeat(indentLevel * indentSize) + trimmed;

// Tăng indent nếu kết thúc bằng dấu mở if (increaseIndentKeywords.some(k => trimmed.endsWith(k))) { indentLevel++; }

return indentedLine; }).join('\n'); }