html的输出&,空格,大小于号
最近定做安装程序,因为这次定做名字里有&符号,用微软的txt文本打开配置文件,在配置文件里修改了名称,名称在文本里显示正常,但是定做出来后,发现&符号变成了_下划线,在本来的&符号后面的字母下方多了个下划线。
我试了试,前后的字母离开一个空格,再定做了一次,发现还是显示成下划线,两个字母之间有个下划线出现。
之后,把所有名字都删除了,复制了多个&,然后定做了一个试试,发现前面显示了几个&符号,然后我又试验了两个&&符号,发现两个&&符号显示正常了,定做安装界面上显示一个&符号。
这个问题比较奇怪,上网搜索没有发现相关内容,一个“&”符号显示成了“_”下划线,两个&&就正常了,可以显示出一个&符号。
个人又测试了&&&###***@@@$$$这个字符串,结果是一个&,后面有三个#号,第一个#下有下划线,三个*号,三个@,三个$,也就是除了&需要两个来显示一个,其余的测试几个符号没有问题。
原因不明,如果出问题的时候,可以用两个字符符号试试。
如果是HTML输出一些特殊符号,可以用字符实体,把这些符号输出到浏览器中,最常用的就是空格的字符实体,浏览器总是会截短 HTML页面中的空格,如下面的图示,代码里少量空格和大量空格效果是一样的,如果要实际增加空格的个数,就需要用多个空格的字符实体。
常用的除了空格,还有大于和小于号,在html标签里,大于小于好代码标签的开始结束,之前更新历史记录的时候,用到过需要输出script标签。
测试代码:如图,是html中输出&,空格,和大于小于号的方法。如果在LODOP中,用add_print_text纯文本输出,则只需要用符号本身就可以了,所有纯文本输出的都会当作纯文本对待,不会通过浏览器解析。
这里 为了演示空格的存在,给空格加了背景色,但是实际在这写代码的时候,尽量不用给空格加span样式,在lodop解析等中可能会出一些问题,之前有博文介绍过。
<div id="d1"> &符号:实体名称&amp; :<span style="background-color:#b0f4f5;"><font color="red">&</font></span>;实体编号&#38;:<span style="background-color:#b0f4f5;"><font color="red">&</span></font>;<br> 空格符号:实体名称&nbsp; :<span style="background-color:#b0f4f5;"> </span>;实体编号&#160;:<span style="background-color:#b0f4f5;"><font color="red"> </span></font>;<br> <span style="background-color:#b0f4f5;"> </span><br>一个&nbsp; 代码里无空格<br> <span style="background-color:#b0f4f5;"> </span><br><br>一个&nbsp; 代码里少量空格<br> <span style="background-color:#b0f4f5;"> </span><br><br>一个&#160; 代码里无空格<br> <span style="background-color:#b0f4f5;">   </span><br><br>一个&#160;代码里大量空格<br> -----------------------------------<br> 小于大于符号:实体名称&lt;&gt; :<span style="background-color:#b0f4f5;"><></span>;实体编号&#60;&#62;<span style="background-color:#b0f4f5;"><font color="red"><></span></font>;<br> --------------------例如------------------<br> 输出多个空格:空<span style="background-color:#b0f4f5;"> </span>格<br> 输出html标签:<span style="background-color:#b0f4f5;"><</span>script language="javascript" src="LodopFuncs.js"<span style="background-color:#b0f4f5;">></span></script><br> </div>
图示: