我正在尝试创建一个 PHP 游乐场,但我不知道如何制作编辑器本身。我一直在寻找所见即所得的编辑器来让我格式化/缩进代码,但我没有运气。
我不知道如何搜索那些PHP编辑器来集成到我的项目中,所以我开始自己制作一个,但我不是一个伟大的前端开发人员,这是我目前的尝试:
let lineNumber = 1
function updateLineNumbers() {
const lineNumbers = document.querySelector(".line-numbers")
const lines = document.querySelector("#php-code").value
const splittedLines = lines.split("\n")
do {
const p = document.createElement("p")
p.innerText = lineNumber
lineNumbers.append(p)
lineNumber += 1
} while (lineNumber <= splittedLines.length)
}
const txtArea = document.querySelector('#php-code')
const tabSize = ' ' // one tab
let shiftPresed = false
txtArea.onkeydown = e => {
const lines = txtArea.value.split('\n')
// enter capture
if (e.keyCode === 13) {
updateLineNumbers()
}
// backspace capture
if (e.keyCode === 8) {
updateLineNumbers()
}
// shift capture
if (e.keyCode === 16) {
e.preventDefault()
shiftPressed = true
}
// tab capture
if (e.keyCode === 9) {
e.preventDefault()
if (shiftPressed) {
}
}
}
document.addEventListener("DOMContentLoaded", () => {
updateLineNumbers()
})
textarea {
width: 600px;
height: 300px;
resize: none;
border-radius: 0 10px 10px 0;
border-color: #aaaaaa;
padding: 10px;
font-family: monospace;
margin-left: 60px;
}
.line-numbers {
width: 60px;
height: 320px;
background-color: #dddddd;
color: #aaaaaa;
position: absolute;
margin-right: 60px;
text-align: center;
}
.line-numbers p {
height: 1pt;
margin-top: 10px;
}
<form method="POST">
<div class="line-numbers"></div>
<textarea id="php-code" name="php-code"></textarea>
<button type="submit">Run</button>
</form>
您是否知道任何使用 HTML、CSS、JavaScript(或其他)创建的 PHP 编辑器包含到我的 PHP 项目中?