在html textarea中显示不可打印的字符

时间:2016-09-15 09:55:58

标签: html css3 textarea whitespace non-printing-characters

我有一个textarea,其内容显示如下:

textarea

我希望它展示的是不可打印的字符,例如空格和新行(截图以libre office为例):

example from libre office

是否可以在textarea中显示不可打印的字符?

2 个答案:

答案 0 :(得分:0)

我在文本中搜索Unicode字符时遇到了相同的问题,但找不到解决方法。

所以我在https://jsfiddle.net/boppy/3orednps/8/

做了一个基本的

请仅将此作为起点。我将其用于chrome中,并且只采用了一些次要的东西就可以在FF中运行。 -至少会添加OP要求的所有字符。

基本上是(尊重顺序!):

        // _spc ==> Single Space Char chr(32)
        html = html.replace(/ /g, '<span class="_m _spc">&middot;</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>');

答案 1 :(得分:-4)

你必须使用ASCII到HTML代码来打印这些字符,它不是CSS工作,也不是textarea。

您可以在此处找到代码: Returning a view versus a copy

干杯!