Reg.exp. kode (igen)
HejJeg har tyvstjålet følgende kode fra JavaScript-forumet, fordi det passer meget godt på min hjemmeside. Der skal bare lige laves noget om på det:
Hvis jeg f.eks. skriver:
"Se min hjemmeside
den er flot."
Så skal scriptet lave det om til:
Se min hjemmeside. Den er flot".
Det som scriptet gør nu (hvilket jeg ikke kan bruge), er at gøre følgende:
"Se min hjemmeside den er flot."
Og så skal scriptet også slette overskydende punktumer, undtangen hvis de står 3 punktumer til sidst.
Så hvis man f.eks. skriver følgende:
"Se min hjemmeside.. Den er flot... Besøg den..."
Så skal det blive til:
"Se min hjemmeside. Den er flot. Besøg den..."
________________________________________
form.titel.value = form.titel.value.replace( /'/g, "\264");
form.beskrivelse.value = form.beskrivelse.value.replace( /'/g, "\264");
form.titel.value = form.titel.value.replace(/&/g, "og");
form.beskrivelse.value = form.beskrivelse.value.replace(/&/g, "og");
form.beskrivelse.value = form.beskrivelse.value.replace(/[\n\r]/g, ' ');
form.titel.value = form.titel.value.replace(/ +/g, ' ');
form.beskrivelse.value = form.beskrivelse.value.replace(/ +/g, ' ');
form.titel.value = form.titel.value.replace( /\.$/g, "" )
var rx = new RegExp( "([^\\.]*)\\s+(\\.)\\s*([A-Z])", "gi" );
var result = "";
var savlast;
var str1 = form.beskrivelse.value;
do {
var matches = rx.exec( str1 );
if (!matches) break;
result += matches[1] + '. ' + matches[3].toUpperCase();
savlast = rx.lastIndex;
} while (1);
form.beskrivelse.value = result + str1.substr(savlast);
// Blanke før/efter kommaer
form.beskrivelse.value = form.beskrivelse.value.replace( /\s*(,)\s*([a-z])/gi, "$1 $2" );
form.beskrivelse.value = form.beskrivelse.value.replace( /\s+$/g, "" );
//Hvis sidste tegn ikke er .:;!?, tilføj punktum.
form.beskrivelse.value = form.beskrivelse.value.replace( /([^\.:;!\?])$/g, "$1." );
//Fjern samtlige eventuelle blanke før sidste .:;!?
form.beskrivelse.value = form.beskrivelse.value.replace( /\s*([\.:;!\?])$/g, "$1" );
