【发布时间】:2011-11-12 06:30:41
【问题描述】:
我在 html 表单中使用 textarea,并尝试使用 <p> 和 <br/> 标签将其内容重新格式化为有效的 html 格式。
我编写了这个脚本,它似乎可以工作,但我想确保我没有遗漏任何东西。所以我正在征求反馈意见。我知道我没有考虑到用户可能会显式输入 html 标签的可能性,但这没问题,因为无论如何我都会在 PHP 中发布结果。
提前致谢。
输出示例:
<p>Line 1<br/>Line 2</p><p>Line 4<br/><br/><br/>Line 7</p>
和代码:
function getHTML() {
var v = document.forms[0]['txtArea'].value;
v = v.replace(/\r?\n/gm, '<br/>');
v = v.replace(/(?!<br\/>)(.{5})<br\/><br\/>(?!<br\/>)/gi, '$1</p><p>');
if (v.indexOf("<p>") > v.indexOf("</p>")) v = "<p>" + v;
if (v.lastIndexOf("</p>") < v.lastIndexOf("<p>")) v += "</p>";
if (v.length > 1 && v.indexOf("<p>") == -1) v = "<p>" + v + "</p>";
alert(v);
}
请注意,这是一个旨在成为 CMS 一部分的代码,而我所关心的 JavaScript 就是用这两个标签重建 textarea 结果。所见即所得的问题...
【问题讨论】:
-
相关性到底是什么?
标签: javascript html textarea newline string-formatting