From f87fcdd004e678b6bda9c35137c70be6687d9c98 Mon Sep 17 00:00:00 2001 From: fwolf Date: Wed, 10 Apr 2019 11:39:59 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=95=B4=E4=B8=A4=E5=A4=84=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F=E9=94=99=E8=AF=AF=20(#1873)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在转发 Telegram Channel 到 Mastodon 的过程中,发现有两处格式错误: 1. hashtag 和斜体内容, Mastodon 不支持,就变成 `#tag` 这样的形式了,版式很乱且没必要,这个一般用的也少,干脆就去掉了。 2. 在去除不可见字符的时候,应当保留回车 `\r \n` ,这样可以更好的保持排版格式。(源代码中参照的 stackoverflow 链接中的第二个,回答中的提示也有保留回车的选项,就套过来了。 --- lib/middleware/utf8.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/middleware/utf8.js b/lib/middleware/utf8.js index b7ee6291f7..51e12ce204 100644 --- a/lib/middleware/utf8.js +++ b/lib/middleware/utf8.js @@ -2,5 +2,5 @@ // https://stackoverflow.com/questions/1497885/remove-control-characters-from-php-string/1497928#1497928 module.exports = async (ctx, next) => { await next(); - ctx.body = typeof ctx.body !== 'object' ? ctx.body.replace(/[\x00-\x1F\x7F]/g, '') : ctx.body; + ctx.body = typeof ctx.body !== 'object' ? ctx.body.replace(/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/g, '') : ctx.body; };