Space 未显示在 Minecraft 颜色代码中

Space doesn't show on Minecraft Color Codes

所以我在 Github 上构建了这个小型 JavaScript 库。 https://github.com/FoxInFlame/MinecraftColorCodes

现在,它可以完美运行。它将 Minecraft MOTD 翻译成 HTML 代码,以便它可以在网站上显示。

我已经实现了对 \n 的支持,我使用 RegEX 的替换函数将其转换为 <br>

现在,我在名为 Mineplex 的服务器的 MOTD 上测试了这个库。 Mineplex 以 MOTD 为中心,这意味着它的两边都有很多空间,可以让它保持在中心。

当我使用我的图书馆时,空间没有出现。 这是我的意思 Fiddle。顶行应该居中。

http://jsfiddle.net/rm7t318u/1/

我该如何解决这个问题?

您看不到 space 的原因是因为在 HTML 中,您永远看不到一个 space。要查看多个分组的 spaces,我们需要将正常的 space 更改为特殊的 &nbsp;.

我已经更新了你的fiddle。

http://jsfiddle.net/rm7t318u/2/

您有两个选择:

我。替换前导空格

... 不间断空格 (&nbsp;).

var yourMOTD = "              §4§l§m  §f§l§m §8§l§m[ §r §4§lMineplex§r §f§lGames§r §8§l§m ]§f§l§m §4§l§m  §r\n  §2§l§n     M O N S T E R   M A Z E   B E T A     §f";

function normalizeIndent(str) {
    var boundry = /[^\s]/i.exec(str).index;
    return str.substr(0, boundry).replace(/[ ]/g, '&nbsp;') + str.substr(boundry);
}

replaceColorCodes(normalizeIndent(yourMOTD), "output");

二.应用 CSS 规则

... 到您的 .output <div> 以保留空格。

.output {
    white-space: pre;
}