Avatar billede axkris Nybegynder
14. april 2003 - 16:08 Der er 6 kommentarer og
1 løsning

Reg.exp. kode (igen)

Hej

Jeg 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" );
Avatar billede Slettet bruger
14. april 2003 - 16:11 #1
Se Eksperten regler: 2.1.11
Avatar billede axkris Nybegynder
14. april 2003 - 16:12 #2
Men jeg har jo lukket det andet.
Avatar billede Slettet bruger
14. april 2003 - 16:17 #3
Ja, men der gik ikke 7 dage.
Avatar billede axkris Nybegynder
14. april 2003 - 16:19 #4
Nå, det må I undskylde... men kan du ikke udbygge mit script?
Avatar billede olebole Juniormester
14. april 2003 - 17:00 #5
<ole>

Er det ikke bedre at skrive korrekt fra starten?
Hvis der er tale om bruger-input, hvorfor så rette korrekt grammatik til forkert? Hvis brugeren nu har en grund til at buge et udeladelses tegn (...) midt i teksten, er det jo ikke smart at rette det. Så retter du jo til noget, brugeren ikke mente.
Jævnfør din seneste kommentar, der så var blevet rettet. Hvis folk kan skrive, vil de uden tvivl være utilfredse med, at du retter i det, de skriver.

/mvh
</bole>
Avatar billede Slettet bruger
15. april 2003 - 09:38 #6
Enig med olebole. Jeg kan til nøds gå med til, at man stripper leading og trailing spaces/linjeskift, men derudover vil jeg selv have lov til at bestemme opsætningen af min tekst!
Avatar billede axkris Nybegynder
25. maj 2004 - 23:39 #7
Lukker og slukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester