我在我的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’t skip
所以在这两种情况下,ti都不会匹配,也不会被替换。 那么,当我的关键字有撇号时,有没有人知道如何处理追逐,而且帖子内容是使用右单引号代替撇号的相同关键字,如何查找匹配。
答案 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;
之后