我正在努力使自己成为一名文件管理员,并设法在PHP中创建一个“编辑文件”功能。在主页面中我有一个textarea,但是当我想编辑主页面“source”时,文本会准确地停止textarea标签关闭的位置(</textarea>
)
以下是问题的表示:
<textarea><textarea>Hello World.</textarea></textarea>
textarea输出将是
<textarea><textarea>Hello World.
这是因为在代码中我已经关闭了textarea标签,但是浏览器就像从代码外部关闭一样。
我该如何防止这种情况?
答案 0 :(得分:3)
您需要对内部标记进行编码,如下所示:
<textarea><textarea>Hello World.</textarea></textarea>
&#13;
在PHP中,只需通过htmlspecialchars()
运行文件源即可。单次传递不会改变编辑器的textarea中显示的输出。
答案 1 :(得分:0)
如果你不想让它成为标签,你应该转义构成标签的字符。
<textarea><textarea>Hello World.</textarea></textarea>
或者像BoltClock一样,esacpe所有特殊字符。
<html>
<head>
<script src="demo.js"></script>
<script>
addScript('demo.js');
function addScript(src){
// Find the iFrame
var iframe = document.getElementById('test');
var val = '<scr' + 'ipt type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></scr' + 'ipt>';
var headID = iframe.getElementsByTagName("head")[0];
var newScript = iframe.createElement('script');
newScript.type = 'text/javascript';
newScript.src = 'demo.js';
headID.appendChild(newScript);
</script>
</head>
<body>
<div class="output">
<iframe id="test"></iframe>
</div>
</body>
</html>