匹配撇号与正确的单引号

时间:2015-02-24 14:54:22

标签: javascript regex wordpress

我在我的wordpress插件中构建自动链接功能,使用javascript,我有一个问题。

关于输出帖子内容wordpress转换撇号"'""正确的单引号"'"。

例如,wordpress编辑器中的帖子内容如下所示:

<div class"post-content">This is content and don't skip this.</div>

在前端撇号被html实体替换为&#34;'&#34;:

This is content and don’t skip this.

然后我有javascript数组,其中包含应链接的关键字。 当我的关键字包含撇号时出现问题:

 "don't skip"

我有这段代码:

var patern = new RegExp("\\bdon't skip\\b", "gi");

if (patern.test(node.data)) {
   link_keyword(node, element, link);
}

node.data是:

node.data = "This is content and don’t skip this."

正如你所看到的那样,在node.data中找不到关键字,因为在节点数据中撇号是正确的单引号。

我不想触摸内容,因此我尝试用正确的单引号替换我的关键字中的撇号&#34;'&#34;但是我的关键字看起来像这样:

don�t skip

如果我用html实体替换撇号以获得正确的单引号&#34;'&#34;它看起来像这样:

don&rsquo;t skip

所以在这两种情况下,ti都不会匹配,也不会被替换。 那么,当我的关键字有撇号时,有没有人知道如何处理追逐,而且帖子内容是使用右单引号代替撇号的相同关键字,如何查找匹配。

1 个答案:

答案 0 :(得分:0)

不要检查右撇号,只需检查这样的字符

node.data = "This is content and don’t skip this.";    

var pattern = new RegExp("\\bdon\.*t skip\\b", "gi");

pattern.test(node.data);
=> true;
  

这样你就不会触及数据,只是在没有撇号的情况下,只是单词它仍然可以工作。如果你没有希望它在没有&#34;&#39;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;&#34;然后只需删除&#34; *&#34;在&#34; \。&#34;

之后