Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    inserire ritorno a capo ogni tot caratteri su stringa stampata a video

    Ciao a tutti,
    avendo una stringa di testo molto lunga e senza spazi in mezzo, vorrei poter dire ogni tot caratteri inserisci un ritorno a capo
    o \n, in modo che la stringa non venga stampata a video su un unica lunga riga, ho provato con una funzione del genere:
    codice:
    function addBreaks(s,c) {
        var l = s.length;
        var i = 0;
        while (l > i) {
            l = l-c;
            i=i+c;
            d = s.substring(0,c)+"
    "+s.substring(c);
        }
        return d;
    }
    var a="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    
    var formatted = addBreaks(a,26);
    document.write(formatted);
    ma ritorna a capo una volta sola, poi la stringa prosegue senza più tornare a capo..
    sbaglio su qualcosa? grazie in anticipo!
    Perpetual Ribellion With Absolutely No Cause

  2. #2
    l'equivalente php è wordwrap, esiste anche una versione css word-wrap:break-word;
    peccato che funzioni con

    e <div> ma non con le colonne delle tabelle.. Mi arrangerò con php! se qualcuno sa qualcosa o ha qualche idea su come svolgere tale operazione in javascript sarebbe curioso da provare!
    Perpetual Ribellion With Absolutely No Cause

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    136
    Così dovrebbe andare.Fammi sapere.Saluti.

    codice:
    function addBreaks(s,c) {
        var l = s.length;//è superfluo
        var i = 0;
        while (l > i) {
            d += s.substring(i,i+c+1)+"
    ";
            i=i+c;
        }
        return d;
    }
    var a="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
    
    var formatted = addBreaks(a,26);
    document.write(formatted);

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non voglio essere cattivo ma direi che non ha proprio senso cio che hai scritto...

    -la varibile c non cambia mai, quindi andrai sempre a "tagliare" la stringa nello stesso punto cioè al carattere 26
    -la variabile d viene sovrascritta ad ogni ciclo quindi l'unica modifica che ti "salvi" è quella che avviene all'ultimo giro del ciclo che poi è sempre la stessa come spiegato nel primo punto.
    - l = l-c; a che serve?

    codice:
    function addBreaks(s,c) {
        var l = s.length;
        while( l > c){
            s = s.substring(0,c)+"
    "+s.substring(c);
            c+=s.indexOf("
    ")+"
    ".length;
            l = s.length;
        }
        return s;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.