我不知道这个问题可能是什么。我将 jQuery long 与名为 jWysiwyg 的插件一起使用。
每当我输入 HTML 实体名称或编号©
或©
在编辑器中输入时,它都会恢复为实际字符。没有这个功能,我认为它必须是字符设置。
我对某些字符没有问题——但不是所有字符,因为它们中很少有在发布时以方形框或实际网页上的黑色菱形出现。
我尝试尽可能地更改字符集,但这并没有解决我的问题。
当其他人遇到这个并有一个解决方法来解决它?
我不知道这个问题可能是什么。我将 jQuery long 与名为 jWysiwyg 的插件一起使用。
每当我输入 HTML 实体名称或编号©
或©
在编辑器中输入时,它都会恢复为实际字符。没有这个功能,我认为它必须是字符设置。
我对某些字符没有问题——但不是所有字符,因为它们中很少有在发布时以方形框或实际网页上的黑色菱形出现。
我尝试尽可能地更改字符集,但这并没有解决我的问题。
当其他人遇到这个并有一个解决方法来解决它?
这是因为所见即所得的编辑器会渲染 html 实体,例如 © 到他们的字符值(版权符号),就像在所见即所得编辑器中显示为图像一样。我在使用不同的基于 jQuery 的编辑器时遇到了类似的问题。
我假设您可以解决此问题的唯一方法是在您提交它时将其转换回 html 实体,或者可能不太可能正常工作,&
当您加载编辑器时,字符串替换 & with 在每个 html 实体上。这样它就会显示为 © 而不是版权符号,这应该(?)使它存储为 © 而不是 © 符号...
也许这会有所帮助?这是为 jwysiwyg 制作的实用功能,旨在将内容发布为他们的 html 实体代码。尽管动态使用<code>
标签的想法可能也很有效:P,您只需在服务器上使用strip_tags。
你以一种有趣的方式回答了你自己的问题。
当我第一次加载这个页面时,我注意到©并且我对你想要做什么感到困惑。然后,你编辑了它,© 变成了©
如果你查看源代码,你会看到当你点击 StackOverflow 上编辑器中的“代码块”按钮时,复制符号会以你想要的方式显示。
这是通过将其包装在 html 中的代码元素中完成的(您可以右键单击 > 查看源代码以查看...
<p>Whenever I enter an HTML Entity Name or Number <code>&copy;</code> or <code>&#169;</code> within the editor it reverts to the actual character. There is no function for this, which I assume it must be character setting.</p>
我从未使用过您引用的编辑器;但看起来他们只是使用默认的 javascript 事件。因此,为了实现您的目标,您可能必须在编辑器中添加一个事件,然后在 onKeyUp 中搜索文本中的特殊字符并将它们包装在代码中。所以,伪代码会是这样的(我没有测试这个,所以它可能有点错误)......
$("textarea").wysiwyg({
keyup: function(event) {
var editorContent = getContent(); // Or whatever you call to get the content
// Replace all instances of $# followed by 3 digits and a semicolon, with
// the same thing, only wrapped in a code block.
editorContent.replace(/&#[\d]{3};/g, <code>&#[\d]{3};<\\code>);
// Again, I don't know if this function exists, just throwing it out
// there so you get the general idea.
setEditorContent(editorContent);
}
});
正如我所说,我没有尝试过。因此,如果它适合您,请使用您最终使用的内容编辑您的答案。