我有一个像Emmet/ZenCoding一样工作的小型jQuery脚本,并将关键字扩展为textarea
中的TAB
键的片段。替换随机单词的最后一次出现
当关键字只有一个出现时,它工作正常,但我不知道如何替换字符串中单词的最后一次出现。
下面是一个例子的字符串,将在textarea
键入:
Have a look at the rules : rules
在这种情况下,用户将第二规则后按TAB
键,并且脚本以阵列取出相应的值,用一个实际的规则链接代替这个词。它应该(理论上)本所取代:
Have a look at the rules : http://website.com/rules.php
我的问题是,我使用replace
,它会取代这个词,这是不期望的行为的所有出现次数。下面是脚本的相关部分:
var content = $(this).val();
content = content.replace(lastWord, insertSnippets[lastWord]);
$(this).val(content);
它首先获取在当时textarea的内容,替换相应的值的字(规则)(实际的链接)。有没有什么方法可以取代最后的发生?它并不总是“规则”这个词,还有其他十几个长度不明的关键字。
TL; DR如何仅用jQuery/Javascript替换单词的最后一次出现?
我正在考虑得到目前的插入符号的位置,并且只替换它的左边的单词,但获得插入符号的位置似乎相当单调乏味 - 我仍然不知道如何进行替换。
谢谢你的快速回复,我取代了我的代码的最后字VAR与你贴什么,但现在当我按下'TAB'键也不会再扩大。 – Drown 2014-11-20 19:56:28