【发布时间】:2012-04-24 08:04:45
【问题描述】:
人们可以在我的网站上发布新闻,并且很多编辑使用 MS Word 和类似工具来编写文本,然后复制并粘贴到我网站的编辑器中(简单的文本区域,没有所见即所得等)。
这些文本通常包含“漂亮”的引号,而不是普通的 ascii 引号 (")。它们有时还包含那些较长的破折号,例如 – 而不是 -。
现在我想用对应的 ascii 替换所有这些字符。但是,我不想删除变音符号和其他非 ascii 字符。我也非常喜欢使用不涉及为所有这些字符创建映射字典的适当解决方案。
我所有的字符串都是 unicode 对象。
【问题讨论】:
-
为什么不只使用 unicode(我知道你知道这是一个选项)?此外,还有一个可混淆字符的官方 unicode 列表,如果您必须自己滚动,可能会有所帮助。
-
我确实使用 UTF8/unicode。有些人使用 textarea 来编写他们的内容,所以现在我混合了引号/破折号样式,这取决于谁写了一些相当丑陋的东西。
-
嗯,我正在寻找可以使“那些东西”正常化的东西。在 markdown=>html 转换之前或之后完成都没有关系。我非常喜欢之前这样做,但从那时起我可以将正确规范化的字符串存储在我的数据库中。
-
很高兴知道您最终对此做了什么。
-
更好地定义“适当的解决方案”。映射字典是标准库中类似函数的编码方式。这不是漂亮的代码,因为它不是一个漂亮的问题。