我有一个文件,其中包含使用 screen
实用程序捕获的一堆终端日志。这是一个片段:
[A[0m[27m[24m[J[34m~[39m
(base) [38;5;242mbase[39m [35m❯[39m ]133;B[K[?1l>[?2004l
[A[0m[27m[24m[J[34m~[39m
等等等等
输出充满了 ANSI 转义码、\r、\n 等。但我的终端设法很好地呈现了这一切,我想我也应该能够做到。我找到了一些将 ANSI 代码转换为 HTML 的库,但我认为它们不处理任何其他转义。
我仍然觉得一定有人在我之前以某种方式解决了这个问题。有没有简单的方法可以做到这一点?
最佳答案
我有一个书签,使用为 Rancher 制作的此类库。
你可以在里面找到那个库:-)
javascript:var oReq = new XMLHttpRequest();oReq.open("GET", "https://raw.githubusercontent.com/drudru/ansi_up/master/ansi_up.js", true);oReq.onloadend = function (oEvent) {new Function(oReq.responseText)();var el=document.getElementsByTagName("PRE")[0];el.innerHTML=(new AnsiUp).ansi_to_html(el.innerText);};oReq.send();document.body.style="color:white;background-color:black";undefined
人类也可读的版本;-)
javascript:var oReq = new XMLHttpRequest();
oReq.open("GET", "https://raw.githubusercontent.com/drudru/ansi_up/master/ansi_up.js", true);
oReq.onloadend = function (oEvent) {
new Function(oReq.responseText)();
var el = document.getElementsByTagName("PRE")[0];
el.innerHTML = (new AnsiUp).ansi_to_html(el.innerText);
};
oReq.send();
document.body.style = "color:white;background-color:black";
undefined
关于html - 在浏览器中呈现终端输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61108855/