【发布时间】:2017-05-24 03:35:33
【问题描述】:
【问题讨论】:
-
如何删除它?或者禁止它在浏览器上显示?我是否必须转到代码并手动删除分隔符?谢谢!有没有办法在这些字符出现之前自动删除它们?
-
您需要删除页面中代码中的两个字符并修复您的数据库。查看副本
-
并使用
代替。
【问题讨论】:
某些字体将LS 呈现为L SEP。这种字形是为无格式的字符表示而设计的,例如在二进制编辑器中查看文件的原始字符时。在格式化的演示文稿中,应显示实际行距而不是字形。
问题在于 Web 服务器和 Web 浏览器都没有将 LS 解释为换行符。 Web 服务器可以检测到 LS 并将其替换为 <br>。这样的功能非常适合动态生成 HTML 的 Web 服务器,但会增加无需修改即可提供文件内容的 Web 服务器的开销和复杂性。
如果 LS 进入 Web 浏览器,Web 浏览器不会将其解释为格式化。页面格式仅基于 HTML 标记。例如,LF 和 CR 只影响 HTML 源代码的格式,而不影响网页的格式(<pre> 部分除外)。浏览器原则上可以将 LS 和 PS(段落分隔符)解释为 <br> 和 <p>,但 HTML 标准并没有告诉浏览器这样做。 (在我看来这将是一个很好的补充。)
要将原始 LS 字符替换为内容创建者可能想要的行分隔符,您需要将 LS 字符替换为 HTML 标记,例如 <br>。
【讨论】:
这里的 jquery/js 解决方案可以删除角色,但它破坏了我的革命滑块。我最终用Better Search Replace 插件对wp_posts 表上的字符进行了搜索替换:https://wordpress.org/plugins/better-search-replace/
当您将字符从页面复制粘贴到插件框中时,它是不可见的,但它确实有效。在进行数据库替换之前,请始终准备好数据库(或完整)备份!并确保取消选中底部的复选框以不使用插件进行试运行。
【讨论】:
这是“奇怪符号”问题的解决方案。
$(document).ready(function () {
$("body").children().each(function() {
document.body.innerHTML = document.body.innerHTML.replace(/\u2028/g, ' ');
});
})
【讨论】:
那个字符是U+2028或HTML实体代码&#8232;这是一种换行符。它实际上不应该显示。我猜您的服务器端脚本无法将其转换为新行,或者您正在使用显示它的字体。
但是,由于我们知道字符的 HTML 和 UNICODE 值,我们可以添加几行 jQuery 来删除该字符。现在,我只是在下面的代码中用一个空格替换它。只需添加:
$(document).ready(function() {
$("body").children().each(function() {
$(this).html($(this).html().replace(/
/g," "));
});
});
这应该可以工作,但请注意,我尚未对此进行测试,并且可能无法正常工作,因为我的浏览器都不会显示该字符。
但如果没有,您可以随时尝试将文本块粘贴到 http://www.nousphere.net/cleanspecial.php,这将删除所有特殊字符。
【讨论】: