我有一个文本区域,其内容显示如下:
我希望它显示的也是不可打印的字符,例如空格和换行符(截图以 libre office 为例):
这可以在文本区域中显示这样的不可打印字符吗?
我在文本中搜索 Unicode 字符时遇到了同样的问题,但无法找到解决方案。
所以我在https://jsfiddle.net/boppy/3orednps/8/做了一个基本的
请接受这只是一个起点。我把它用于 chrome 并且只采用了一些小东西才能在 FF 中运行。- 至少它添加了 OP 要求的所有字符。
它基本上是(尊重顺序!):
// _spc ==> Single Space Char chr(32)
html = html.replace(/ /g, '<span class="_m _spc">·</span>');
// _tab ==> Tab Stops chr(9)
html = html.replace(/\t/g, '<span class="_m _tab"></span>');
// CarriageReturn chr(13)
html = html.replace(/\r/g, '');
// _brk ==> NewLine chr(10)
html = html.replace(/\n/g, '<span class="_m _brk">¶</span><br>');
// _np ==> non-printable lower ASCII range chr(0)...chr(31) + personally known char(s)
html = html.replace(/([\u0000-\u001F\u00AD])/g, '<span class="_m _np">$1</span>');
// _uc ==> Upper unicode range starting chr(255)
html = html.replace(/([\u00FF-\u9999])/g, '<span class="_m _uc">$1</span>');