奇怪的符号出现在网站上(L SEP)?

Big*_*Dog 41 html wordpress ascii

我注意到在我的网站http://www.cscc.org.sg/上,出现了这个奇怪的符号.

在此输入图像描述

它说L SEP.在HTML代码中,它显示相同的内容.

在此输入图像描述

有人可以告诉我如何删除它们吗?

小智 22

该字符是U + 2028或HTML实体代码
,它是一种换行符.实际上并不应该显示它.我猜你的服务器端脚本无法将其转换为新行,或者您正在使用显示它的字体.

但是,既然我们知道了角色的HTML和UNICODE值,我们可以添加几行jQuery来摆脱这个角色.现在,我只是用下面代码中的空格替换它.只需添加:

$(document).ready(function() {
    $("body").children().each(function() {
        $(this).html($(this).html().replace(/
/g," "));
    });
});
Run Code Online (Sandbox Code Playgroud)

这应该工作,但请注意我没有测试过这个并且可能无法正常工作,因为我的浏览器都不会显示该字符.

但如果没有,您可以尝试将文本块粘贴到http://www.nousphere.net/cleanspecial.php,这将删除任何特殊字符.

  • 请注意:全局调用 JS 替换有时会产生奇怪的副作用,很难调试。如果您是网站所有者,请在服务器端处理它。 (2认同)

Edw*_*rey 6

某些字体将LS呈现为L SEP. 这种字形设计用于字符的无格式表示,例如在二进制编辑器中查看文件的原始字符时。在格式化的演示文稿中,应显示实际行距而不是字形。

问题是 web 服务器和 web 浏览器都没有将 LS 解释为换行符。Web 服务器可以检测到 LS 并将其替换为<br>. 这样的特性非常适合动态生成 HTML 的 Web 服务器,但会增加无需修改即可提供文件内容的 Web 服务器的开销和复杂性。

如果 LS 进入 Web 浏览器,Web 浏览器不会将其解释为格式。页面格式仅基于 HTML 标签。例如,LF 和 CR 只影响 HTML 源代码的格式,而不影响网页的格式(<pre>部分除外)。浏览器原则上可以将 LS 和 PS(段落分隔符)解释为<br>and <p>,但 HTML 标准并没有告诉浏览器这样做。(在我看来,这将是一个很好的补充。)

要将原始 LS 字符替换为内容创建者可能想要的行分隔符,您需要将 LS 字符替换为 HTML 标记,例如<br>.

  • 这里只有明智的答案。请不要使用糟糕的 jQuery 脚本来修复这些症状。从源头删除错误的字符。 (5认同)

小智 5

这是“奇怪符号”问题的解决方案。

$(document).ready(function () {
  $("body").children().each(function() {
      document.body.innerHTML = document.body.innerHTML.replace(/\u2028/g, ' ');
  });
})
Run Code Online (Sandbox Code Playgroud)