3 ms·
Randall Munroe's (from xkcd) newest idea
- rbmoshe 13y agoTime to find a text version of cspan
- bazzargh 13y agoSomeone posted similar js when this xkcd was discussed yesterday (https://news.ycombinator.com/item?id=6696355 https://news.ycombinator.com/item?id=6696355), but also missed that js lets you grab nodesets using xpaths directly: var snap = document.evaluate('//text()', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); for (var i=0;i<snap.snapshotLength; i++) { t=snap.snapshotItem(i); t.textContent = replace(t.textContent); } In addition your code uses \s\s* when you just mean \s+; also you are using case-insensitive matches for the 'dictRegex' pattern with case-sensitive matches for the individual patterns, so you replace eg 'election' (lower case e) with 'undefined'. Like the other js implementation you're not matching word boundaries (\b).
- rbmoshe 13y agoThanks for the ignoreCase problem, I fixed it. I actually was using a \b in the link but forgot to update the source accordingly. The reason I use \s\s* over \s+ is because I once saw that it has some performance benefits, although it really doesn't make a difference