我正在开发一个js文件,该文件将从剪贴板中获取搜索字符串,如果找到,将突出显示网页中的短语。
在这里,我将复制粘贴ms字的文本。我正在使用正则表达式下方来清理剪贴板文本中的单词格式。
var pure = impure.replace(/“/g, "\"");
pure = pure.replace(/”/g, "\"");
pure = pure.replace(/’/g, "\'");
pure = pure.replace(/‘/g, "\'");
pure = pure.replace(/–/g, "\-");
然后使用以下方法搜索短语
var body = $('body');
var replaced = body.html().replace(''+pure+'','<span class="highlight">'+pure+'</span>');
$("body").html(replaced);
有了这个,我能够找到单个单词和一些小句子..但我无法一次找到总短语...例如看this小提琴(这只适用于IE,因为我目前正在针对IE)。
请建议我继续前进的好方法.. 这里我的Word可能包含子弹,换行符,粗体,斜体等......
答案 0 :(得分:1)
我不确定是什么是您怀疑的确切错误,但我在您的脚本中发现了我自己的一些错误。我在这里修复了它们:http://jsfiddle.net/F7txy/6/
其中一个问题是您似乎试图再次使用pure
替换pure
文字:
var replaced = body.text().replace(
'' + pure + '',
'<div class="highlight">' + pure + '</div>'
);
看起来你应该用pure:
替换impure
var replaced = body.text().replace(
'' + impure + '',
'<div class="highlight">' + pure + '</div>'
);
此外,您可以将replace
方法链接在一起(我为您做过)。此外,你可以将所有这些组合成一个,但我会让你这样做。