【发布时间】:2022-11-04 12:47:17
【问题描述】:
要使用 unicode 制作文本删除线,我一直在使用:
function strikeThrough(text) {
return text
.split('')
.map(char => char + '\u0336')
.join('')
}
参考:
How to do strike through string for javascript
我的问题是:通过以相同方式添加 unicode 字符,是否有类似的方法可以为粗体和斜体执行此操作?我试图避免使用基于 html 的解决方案。例如:
function boldText(text) {
return text
.split('')
.map(char => char + '????')
.join('')
}
function italicText(text) {
return text
.split('')
.map(char => char + '????')
.join('')
}
【问题讨论】:
-
不。你打算用字符串做什么?使用标记语言,而不是 Unicode。
-
在我的应用程序中,我希望能够将生成的文本复制/粘贴到纯文本编辑器中。当我使用 <b> 或 <i>(或 CSS)时,样式不会继承(使用删除线 html <s> 时也是如此)。但是,当我使用删除线 unicode 方法时,从网站复制/粘贴到纯文本编辑器效果很好。因此,我希望遵循我目前在粗体/斜体情况下用于删除线的模式。
-
如果它是一个纯文本编辑器,它不应该有样式吗?我会担心那里有奇怪的字形,而你真的不能编辑那个文本然后没有使用编辑器的意义。
-
否。删除线示例使用字符组合 - 即在每个原始字符上覆盖破折号。使用这种方法无法实现粗体和斜体效果。
-
@MrIncredible 谢谢,我认为这就是我一直在寻找的答案。如果真的不可能,那也没关系,我只需要确定。
标签: javascript unicode