该字符是U+2028或HTML实体代码

,它是一种换行符号,实际上不应该被显示。我猜测要么是您的服务器端脚本未能将其转换为新行,要么是您使用了可以显示它的字体。
但由于我们知道该字符的HTML和UNICODE值,因此我们可以添加一些jQuery代码来消除该字符。现在,我只是在下面的代码中用空格替换它。只需添加以下内容:
$(document).ready(function() {
$("body").children().each(function() {
$(this).html($(this).html().replace(/
/g," "));
});
});
这应该有效,但请注意我没有测试过,也可能无法使用,因为我的浏览器中没有一个能够显示出这个字符。
但如果不起作用,您可以尝试将文本块粘贴到http://www.nousphere.net/cleanspecial.php上,该网页将会去掉任何特殊字符。
一些字体将LS渲染为L SEP
。这样的字形是为了呈现字符的未格式化版本而设计的,例如在二进制编辑器中查看文件的原始字符时。在格式化的演示中,应该显示实际的行间距而不是字形。
问题在于Web服务器和Web浏览器都没有将LS解释为换行符。Web服务器可以检测到LS并用<br>
替换它。这样的功能适用于动态生成HTML的Web服务器,但对于无需修改即可提供文件内容的Web服务器来说,会增加开销和复杂性。
如果LS出现在Web浏览器中,Web浏览器不会将其解释为格式化。页面格式仅基于HTML标记。例如,LF和CR只影响HTML源代码的格式化,而不影响网页的格式化(除了
部分)。原则上,浏览器可以将LS和PS(段落分隔符)解释为<br>
和<p>
,但HTML标准没有告诉浏览器这样做。(我认为这会是一个很好的补充。)要使用HTML标记(如
<br>
)替换原始的LS字符以显示内容创建者可能想要的行分隔符,您需要将LS字符替换为HTML标记。
$(document).ready(function () {
$("body").children().each(function() {
document.body.innerHTML = document.body.innerHTML.replace(/\u2028/g, ' ');
});
})