需要帮助编写代码来搜索网页中的短语

时间:2011-11-23 05:38:06

标签: javascript jquery regex

我正在开发一个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可能包含子弹,换行符,粗体,斜体等......

1 个答案:

答案 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方法链接在一起(我为您做过)。此外,你可以将所有这些组合成一个,但我会让你这样做。