“ ”与nbsp;或“ ”

问题描述:

您好,我正在尝试使用Indesign提取的html代码编译EPUB v2.0。我注意到在段落开头或结尾处有很多“特殊字符”。例如“ ”与nbsp;或“ ”

<p class="text_indent0px font_size0_8em line_height1_325 margin_bottom1px margin_left0px margin_right0px sans_serif floatleft">E<span class="small_caps">VELYNE</span>&#9;</p> 

这是什么

&#9; 

,可以,我不是摆脱它或用替换“NBSP;”?

+0

'' 是一个标签,它通常凝结到一个空间,HTML –

+0

它是如何让意义上,有一个段落的结尾标签? –

&#9 

是选项卡的ascii代码。所以我猜这些段落是用制表符缩进的。

如果你想与&nbsp;替换它们,然后用它们的4

&nbsp;&nbsp;&nbsp;&nbsp; 

这将是一个水平制表(即同使用Tab键)。

如果你想替换它,我会建议使用像Sigil(http://sigil-ebook.com/)这样的ePub编辑器来查找/替换。

&#9;表示horizontal tab

&#32;同样表示空间。

要更换&#9;你必须使用&nbsp;&nbsp;&nbsp;&nbsp;

+0

你不能盲目地用四个不间断的空间替换它,它通常凝结到一个空间。 –

&nbsp;是用来表示一个非打破空间的空间是我们然后使用键盘的空格键

&#9;小数

&#32;十进制字符代码的实体水平标签的字符代码

&nbsp;&#9;均r epresent空间但&nbsp;是非换装置的多个顺序发生不会被折叠成一个,其中作为对于相同的情况下, `将折叠到一个空间

&#9; =约4 &nbsp;空间和约。 8 &#32;空格

在HTML编码&#{number},{number}是ascii码。因此,&#9;是一个选项卡,通常会将其浓缩为HTML中的一个空格,除非您使用CSS(或<pre>标记)将其视为预格式化的文本。

因此,将其替换为非中断或常规空间是不安全的,除非您可以保证它不在任何位置显示为选项卡。

div:first-child { 
 
    white-space: pre; 
 
}
<div>&#9; Test</div> 
 
<div>&#9; Test</div> 
 
<pre>&#9; Test</pre>

参见https://developer.mozilla.org/en-US/docs/Web/CSS/white-spacehttp://ascii.cl/

有使用四种类型的字符参考方案。

  1. 使用十进制字符代码(正则表达式模式:&#[0-9]+;),
  2. 使用十六进制字符代码(正则表达式模式:&#x[a-f0-9]+;),
  3. 使用命名的字符代码(正则表达式模式:&[a-z]+;),
  4. 使用实际字符(正则表达式:.)。

这些转换都以相同的方式呈现。但是,编码风格是不同的。例如,如果你需要显示a latin small letter E with diaeresis那么你可以使用任何以下公约:

  1. &#235;(十进制表示),
  2. &#xEB;(十六进制格式)
  3. &euml;(HTML标记),
  4. ë(实际字符),

同样,就像你说的,应该用什么(一)&#9;(十进制表示法)或(b)&nbsp;(html表示法)或(c)&#32;(十进制表示法)。因此,从上述类推,可以说(a),(b)和(c)是三种不同字符的三种不同的符号。

而且,这是你的信息,(a)是Horizontal Tab,(b)的一个是non-breaking space实际上&#160;是十进制和(c)是正常空格字符十进制数表示。

现在,技术上space在段落的末尾,是没有意义的。更好的是,你可以放弃这些。如果您仍然需要使用里面的<pre>元素,而不是<p><div>

希望这有助于...