我有一个文本编辑器,提供源代码和富文本编辑器。假设我在文本区域中有以下内容
<p>A Paragraph</p>
<script type="text/javascript">
$$('.a-class');
</script>
我已成功将此文本存储在RTE中,但如果我尝试从中获取该数据(通过调用Field.getCleanContents()),则会产生以下结果
<p>A Paragraph</p>
<script type="text/javascript">
$('.a-class');
</script>
所以,我想知道是否有一种简单的方法来阻止关闭剥离这个额外的'$'字符。
更新
在挖掘了一堆代码后,我发现有一个string.replace正在发生,并且有something a little sneaky in the Javascript string.replace function when using double dollar
"foo bar baz".replace("bar", "$$fancy")
> "foo $fancy baz"
我解决这个问题的方法是有效地切断字符串并从中返回一个新的字符串。
function glue(msg, old, replacement){
var oldIndex = msg.indexOf(old);
var prefix = msg.substr(0, oldIndex);
var suffix = msg.substr(oldIndex + old.length);
return prefix + replacement + suffix;
}
glue("foo bar baz", "bar", "$$fancy");
> "foo $$fancy baz"