我的网站上有一个textarea包含PHP代码。
我想让用户能够修改代码,然后运行它。
所以,我制作了一个名为modifyCode
的文本区:
<textarea id="modifyCode"></textarea>
到目前为止,我已经设法运行了在textarea中编写的PHP代码。
但我真的很想将代码荧光笔应用到我的文本框中。在这方面,我尝试了几种方法:
我试过“highlight.js” - &gt; https://highlightjs.org/
我试过“codemirror” - &gt; https://codemirror.net/
我不仅无法突出显示我的PHP代码,而且还无法再运行。
我需要提一下,同样的方法可以很好地突出显示XML代码,但它也不会运行!
据我了解,当我们应用这些代码荧光笔时,textarea将不再像textarea那样。那么,无论如何我可以突出显示我的PHP代码然后运行它吗?
答案 0 :(得分:2)
遇到此问题的一种方法是制作一个名为modifyCodeDiv
的中间DIV:
<div id="modifyCodeDiv" contenteditable="true"></div>
modifyCodeDiv
获得modifyCode
textarea:
document.getElementById("modifyCodeDiv").innerHTML =
document.getElementById("modifyCode").value;
因此,用户可以修改div modifyCodeDiv
中的代码。
要执行代码,您需要将modifyCodeDiv
的值发送到modifyCode
。由于div没有value属性,您需要执行以下操作:
var my_element = document.getElementById('modifyCodeDiv');
var my_str = my_element.innerText || my_element.textContent;
document.getElementById("modifyCode").value = my_str;
此外,您可以将highlight.js应用于div [{1}}。