我需要你的帮助,
如何修改正则表达式/替换编码,以便我不仅能够保留文本后的换行符,还能保留文本前面,文本之间和文本之后的额外空格。
我附上了目前结果的图片。预期的最终结果应该与第一个文本区域的结果相同
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function test() {
//textarea to table cell
var x = document.getElementById('txt1').value.replace(/\r?\n/g,'<br>')
//table cell to textarea
document.getElementById("table1").children[0].children[0].innerHTML = x
var y = document.getElementById("table1").children[0].children[0].innerHTML
//some processing first to replace the <br>'s before the final output
y = y.replace(/\s*<br\s*\/?>\s*/g, '\n')
document.getElementById("txt2").value = y
}
</script>
</head>
<body>
<textarea style="height: 200px;" id="txt1"></textarea>
<br>
<table id="table1"><tr><td>cell data1</td></tr></table>
<br>
<input type="button" value="test it" onclick="test()">
<br>
<textarea style="height: 200px;" id="txt2"></textarea>
</body>
</html>
答案 0 :(得分:0)
尝试对前导和多个空格进行编码,如下所示:
//textarea to table cell
var x = document.getElementById('txt1').value.replace(/\r?\n/g,'<br>')
.replace(/^\s|\s(?=\s)/g, ' ');
有些行后来反过来了:
y = y.replace(/\s*<br\s*\/?>\s*/g, '\n').replace(' ', ' ')
答案 1 :(得分:0)
更改此
document.getElementById("table1").children[0].children[0].innerHTML = x;
到
document.getElementById("table1").children[0].children[0].innerHTML = "<pre>" + x + "</pre>";