如何在Slack中转义格式字符?


92

Slack将各种字符用于自己的降价格式。

如何输入保留了转义字符的消息?

例如,是否可以发送完全像这样的消息:

*我不要这样大胆*


26
我希望我能在这里否决所有答案。
理查德·西蒙斯

1
不能吗 @RichardSimões
technophyle

1
需要更多积分!
理查德·西蒙斯(RichardSimões)

7
这就是为什么Slack需要摆脱他们的高马并使用适当的降价引擎的原因
Qix

注意:唯一可行的
sjngm,

Answers:


35

复制并粘贴以下文本,并根据自己的需要更改星号中的单词:

*bold*­

当您发布Slack消息时,它不会以粗体显示。注意:星号两侧都有隐藏的字符,这将防止Slack在星号之间格式化您的单词。


说明

这是ShaneB的答案的一种变体,似乎效果更好。而不是在星号的“附加”侧添加(不可见)空间:

There is *|no|* spoon            // '|' = vertical tab

考虑通过插入(不可见)非空格来消除 “分离”侧的空格:

There is |*no*| spoon            // '|' = e.g. soft hyphen (­, U+00AD)

这会“嵌入”星号,从而使其无效。柔和的连字符似乎是个好角色。


2
很好。我相信这是给出最佳预期结果的最佳新答案。我已对您的帖子进行了编辑,以为可能不了解如何实际实施的人提供一个简单的复制/粘贴解决方案。
BadHorsie

1
显然,您不需要两边的“害羞”字符,只需一侧就足够了。
开尔文

1
| *粗体* | 都是即时消息
Adrian Bartholomew

3
@AdrianBartholomew代替管道,|您需要输入Unicode字符(U + 00AD)。在Linux上,按住SHIFT + CTRL u的同时按键ad。在Windows上,按住ALT键的同时,键入键0173。有关Unicode输入的更多信息,请访问以下
网址

上面的评论是使用Slack的技术人员的唯一可行解决方案!!!
sjngm

18

我刚刚进行了测试,并且在消息的其余部分中,一个后退标记将转义即将出现的格式化字符。

`*I don't want this to be bold*`

那将被格式化为代码

`*I don't want this to be bold*

那将被正常格式化,但是两个星号将出现而不是使文本变为粗体。


3
有趣。我的意思是我猜这有点像“黑客”,因为您只是在破坏代码段,而且还留下了不希望出现的问题。
BadHorsie

是的,它并不完美,可能是不受支持的黑客行为。
pkoepke '16

13
但是转义回退呢?
乔治·莫尔

14

更新!:(2017-12-07)

看来Google已更新了Chrome网络浏览器控件(可能还有其他控件),以显示许多常用ASCII控件字符(包括 “垂直制表符”)的占位符!此更改导致我下面的原始解决方案损坏,现在显示“未知字符”正方形或在某些情况下出现空白符中断,而在大多数情况下,空白符之前是不中断的(特别是Slack!)。不用担心,这里有一个简单的Fix!

FIX:不是使用垂直制表符(十六进制字符0x0B),现在使用页字符(十六进制字符0x0C)!

解决方案:将以下固定文本复制到Slack and Edit:

There is once again *no* spoon

或使用任何十六进制到ascii转换器(即ASCII到Hex)将其转换为:

2a 0c 68 61 78 0c 2a

就个人而言,我发现使用ASCII范围解决方案总是最容易且更兼容,而不是像leclercdumombasin的回答那样用Unicode解决方案来吸引命运。 但是,就可用性而言,leclercdumombasin的回答很优雅,因为您可以简单地复制和粘贴软连字符并标记任何想要保留为无格式的单词,只需使用一个隐藏字符即可。两者之间的主要区别是我的解决方案使用的字符在复制/粘贴到简单文本编辑器后仍会隐藏,而我测试中的软连字符解决方案在普通的简单文本编辑器中会转换为标准外观的连字符。

TL; DR:您现在可以以一个价格获得两个可行的解决方案!


原始帖子:

我必须同意上述RichardSimões的观点,这些答案实际上都没有提供真正的解决方案。尽管从某种意义上讲它们都是正确的,但是没有故意构建的方法来处理此用例,这将需要某种形式的破解。……由于到目前为止提供的所有黑客手段都不可接受,因此我抢了一个热包和一些Xena磁带,并着手证明我的功夫很强。

结果:我的功夫很强。

解决方案:使用垂直制表符。

如上所述,您可以使用空格将星号与其周围的单词或短语分开,例如:

These * spaces * will keep it from becoming bold.

我认为这是已经给出的最佳答案,但仍然增加了难看的空间。因此,如果您要使用“垂直制表符”(VT),则可以将星号分开,而不必在星号和它们所包围的单词之间添加额外的空间。

这是字符信息,尽管我不确定StackExchange和/或您的单个Web浏览器将如何显示此信息。如果它自动将其转换为空格,或类似的内容,请参考以下替代方法:

Vertical Tab (between quotes): ""
Decimal: 11
Hex: 0x0b

用一句话,就像您在Slack上使用它一样,无论它在这里如何工作,我都已经成功地对其进行了测试(只需将其复制/粘贴到Slack中):

There is *no* spoon.

我发现与这种不可打印的字符hack一起使用的最简单方法是将序列保存为十六进制的文本文件,然后每当需要使用它们时,我都可以快速打开一个新标签,即“ hex to ascii” ,然后通过任何转换器复制/粘贴。我还建议使用可以显示空白字符的文本编辑器。这是一个使用十六进制的字符串,只需将其转换为ascii并用您要输入的内容替换“ hax”:

2a0b6861780b2a

1
我的家伙 做得好。我的意思是,疯狂但很酷的解决方案。我将这个问题悬而未决了将近一年……这是这里唯一的真正解决方案。
BadHorsie '16

1
有趣。这甚至适用于反引号-空格根本不起作用。
米哈尔Politowski

在最新的Mac版Slack上,该单词并未加粗,但最终结果仍然在星号和它们所包围的单词之间留下难看的空格。
开尔文

@Kelvin-使用我上面提到的最新编辑进行尝试,或者尝试其他答案中提到的soft-hyphen方法。
ShaneB

7

只有一种方法可以实现您想要的目标:使用机器人通过Slack API创建消息。这是一个带有示例的页面,该示例显示了如何精确地执行您想要的操作。


但是,如果您(人类)正在使用Slack客户端键入内容,就像其他人所说的那样,则无法产生由星号包围的文本字符串。如果您不希望应用其他类型的格式设置(例如code),则可以通过以下一些折中方案使您更接近所需的格式:

空格(无论如何,我觉得这更具可读性)

* I don't want this to be bold *

前导反斜杠或下划线

\*I don't want this to be bold*

_*I don't want this to be bold*


3

有一个Unicode字符“ Combining Grapheme Joiner”(͏Unicode:U + 034F,UTF-8:CD 8F),如果将其插入到Slack中的特殊字符之一之前,则会以某种方式使Slack检测到特殊字符:

I don't want *this* to be bold
             ^- Insert it before this asterisk

这个 特技 hack似乎转义了以下字符,允许输入星号,波浪号,下划线和(对于我来说最重要的)前角括号,而无需使用Slack将其用作格式代码。

我意识到这是一个卑鄙的黑手:在Mac上相对容易,但是无论这是否容易,我都无法代表Windows同志。

PS:我尝试了其他几个Unicode字符,包括退格,薄的空间,头发空间,零宽度的空间,等等,但是松弛条他们,至少当它们被行上的第一字符(其使打字像> 9,000!作为在Slack中无法发表评论,因为它变成了blockquote)。


1
这可行。还可以在macOS上的Keyboard Maestro或Typinator或Windows上的AutoHotKey等应用中进行配置,从而可以使用短键盘宏或热键轻松插入“ Combining Grapheme Joiner”。
Ville

2

当您指的是*字符时,也许会使用Unicode U + 066D(٭)字符?

上面的解决方案(贡献者建议使用垂直制表符)对我有用,直到我还包括了使用..语法的标记,但那时还没有。


干净简单的解决方案。
BadHorsie

也适用于可能要嵌入的其他可能字符,例如,以>开头的行,请使用›代替。(U + 203A)
菲尔(Phil

1

单后打勾将完成此操作,三后打勾将使其阻止文本。。。但两者都会将其格式化为代码。正如Slack在此推文中所证实的那样。

`*I don't want this to be bold*`

9
我知道单个反引号会将其格式化为代码,我是一名开发人员,经常使用它们,但这不是我想要的。这与转义字符不同。我希望消息不格式化;代码样式已格式化。
BadHorsie 2015年

2
抱歉,这不是您想要的。我失败了,还有其他各种选项\,/ <,<!等。此推文似乎表明它根本不存在。
汤姆·伍德沃德

实际上,代码样式是否为“格式化”而默认样式是否为“格式化”,这只是一个角度问题。两者都被格式化,只是具有不同的字体系列。“默认样式”不一定是“未格式化的”。这个问题充其量是令人困惑的,因为最后一行的示例以灰色背景的等宽格式显示文本,这就是Slack在使用反引号时的作用。
LarsH '16

1

另一种选择是将一个星号加倍。

*cough****cough*无论是在我的测试为我工作。


1

要转义特殊字符fe *或@,请在我们要转义的字符之前键入以下字符:

按住:

<ctrl><shift>

依次按下并释放以下字符:

u a d

发布:

<ctrl><shift>

一会儿,我们将看到带下划线的内容: uAD 它将很快变得不可见。

现在,您可以键入特殊字符。


该答案由@Suboptimal在注释中给出。

我试图回复他,但是评论不允许使用所需的格式。

如果他将发布此答案,我将很乐意对其进行投票并删除此答案。


-1

您可以输入带有空格的哈希,然后输入文本,然后使用退格键将两者连接。

开始于……#SlackIsGreat

然后将光标置于“ S”并按退格键。


2
老实说,我认为这不是OP的追求。
jonsca
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.