我有一些使用CKeditor创建的文本,它似乎会在应该有空格的地方插入
因此,这就是所选择的内容:
请注意,我使用variable.inspect输出了存储在数据库中的选择和原始文本,因此所有引号都被转义了(发送到浏览器时不会这样)。
为了让大家省去寻找差异的痛苦:
从第一个:
从第二个:
这些差异位于选择的末尾。
那么......我能看到三种方法来处理这个问题。
我是Ruby on Rails的用户,但这对于这个问题并不重要。
我发现它还转换了一些其他的东西:
。它还会对>、<、&等进行类似的转换,这很好,但是当我创建DOMSelection时,这些代码会被移除。因此,这就是所选择的内容:
before<a href=\"http://wiki.teamliquid.net/starcraft2/Hatchery\" style=\"text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; \" title=\"Hatchery\">Hatchery</a> (2)
但实际上这才是DOM中的内容:
before<a href=\"http://wiki.teamliquid.net/starcraft2/Hatchery\" style=\"text-decoration: none; color: rgb(0, 43, 184); background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; background-position: initial initial; background-repeat: initial initial; \" title=\"Hatchery\">Hatchery</a> (2)
请注意,我使用variable.inspect输出了存储在数据库中的选择和原始文本,因此所有引号都被转义了(发送到浏览器时不会这样)。
为了让大家省去寻找差异的痛苦:
从第一个:
Hatchery</a> (2)
(选择)从第二个:
Hatchery</a> (2)
(原始文本)这些差异位于选择的末尾。
那么......我能看到三种方法来处理这个问题。
1) - Replace all characters commonly replaced with codes with their codes,
and hope for the best.
2) - Javascript may have some uncommon function / a library may exist that
replaces these characters for me (I think this might be the way CKeditor
does its character conversion).
3) - Figure out the way CKeditor converts and do the conversion exactly that way.
我是Ruby on Rails的用户,但这对于这个问题并不重要。
我发现它还转换了一些其他的东西:
1: It seems to only convert spaces to if the space(s) is before or after a tag:
e.g.: "With quick <a href..."
2: It changes apostrophes to the hex value
e.g.: "opponent's"
3: It changes "&" to "&"
4: It changes angle brackets to ">" and "<" appropriately.
有人对此有什么想法吗?