仅在指定节点内而不是在子节点内替换文本

时间:2009-11-13 05:58:32

标签: javascript regex greasemonkey

我在Userscripts上找到了一个GreaseMonkey脚本,用于修正拼写和一些语法,我正在努力改进以便在Reddit等上使用。我已经从那里得到了一些改进,this是我目前的版本这确实很有效。

然而,有一个问题是它将斜体,粗体和链接大写。我想让脚本忽略所有子节点,或至少忽略em(斜体),强(粗)或(链接)的节点。我已经尝试了很多搜索和阅读,但我还没有找到办法做到这一点。似乎出于其他目的,每个人都希望他们的脚本也能用于儿童。

我想有不同的方法可以做到这一点 - 或许首先将它们包括在内,然后将它们直接剥离,或者如果符合某些标准,则阻止替换循环对它们进行处理。不幸的是我在javascript方面不是很有经验,所以我在这里问。

1 个答案:

答案 0 :(得分:0)

尝试从

更改xpath
//div[@class='md']//text()

//div[@class='md']//*[not(self::em or self::strong or self::a)]/text()

这样可以防止所有emstronga节点被更改。