Permalänk

Greasmonkey-script

Hej ni som kan, jag har letet med ljud och lyckta efter ett enkelt script som byter ut punkt "." mot komma ","

Jag har kommit en bit på vägen, men hitintills så blir all form av text ersatt med kommatecken, inte speciellt användbart. Scriptet nedan är kopierat från en tuterial där en array med vad man ville byta ut skapades, jag kortade ner denna array till en enda rad med endast en punkt"." i och vad jag vill ersätta detta med ",". All hjälp uppskattas

// ==UserScript==
// @name smart quotesDumbQuotes
// @namespace http://diveintomark.org/projects/greasemonkey/
// @description straighten curly quotes and apostrophes
// @include *
// ==/UserScript==

var arReplacements = {
".": ","};
var arRegex = new Array();
for (var sKey in arReplacements) {

arRegex[sKey] = new RegExp(sKey, 'g');
}

var snapTextNodes = document.evaluate("//text()[" +
"not(ancestor::script) and not(ancestor::style)]",
document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = snapTextNodes.snapshotLength - 1; i >= 0; i--) {
var elmTextNode = snapTextNodes.snapshotItem(i);
var sText = elmTextNode.data;
for (var sKey in arReplacements) {
sText = sText.replace(arRegex[sKey], arReplacements[sKey]);
}
elmTextNode.data = sText;
}

Visa signatur

-----------------------------------------------
if it a'int broke, don't fix it!
-----------------------------------------------

Permalänk
Medlem
Skrivet av solid_force:

Hej ni som kan, jag har letet med ljud och lyckta efter ett enkelt script som byter ut punkt "." mot komma ","

Jag har kommit en bit på vägen, men hitintills så blir all form av text ersatt med kommatecken, inte speciellt användbart. Scriptet nedan är kopierat från en tuterial där en array med vad man ville byta ut skapades, jag kortade ner denna array till en enda rad med endast en punkt"." i och vad jag vill ersätta detta med ",". All hjälp uppskattas

// ==UserScript==
// @name smart quotesDumbQuotes
// @namespace http://diveintomark.org/projects/greasemonkey/
// @description straighten curly quotes and apostrophes
// @include *
// ==/UserScript==

var arReplacements = {
".": ","};
var arRegex = new Array();
for (var sKey in arReplacements) {

arRegex[sKey] = new RegExp(sKey, 'g');
}

var snapTextNodes = document.evaluate("//text()[" +
"not(ancestor::script) and not(ancestor::style)]",
document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = snapTextNodes.snapshotLength - 1; i >= 0; i--) {
var elmTextNode = snapTextNodes.snapshotItem(i);
var sText = elmTextNode.data;
for (var sKey in arReplacements) {
sText = sText.replace(arRegex[sKey], arReplacements[sKey]);
}
elmTextNode.data = sText;
}

All form av replace som görs med javascript använder regular expression. Om man kör sText.replace(".",",") så kommer alla tecken att bytas ut eftersom "." betyder "vilket tecken som helst".

Om du vill lösa problemet lite snabbt så kan du byta ut din första array till:
var arReplacements = {"[.]": ","};

Visa signatur

ηλί, ηλί, λαμά σαβαχθανί!?