In una textarea sostituire il carattere \n in <br/>

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Salve, non volevo di nuovo scocciarvi con almeno credevo una sciocchezza...

ma purtroppo non ci riesco :(

ho una textarea in cui vanno in automatico con un elemento Dom i valori di un array.

E questi valori di array io li preparo con uno script a parte con un form per evitare di mettermi a inserire magari in un elemento array molto lungo a mano il carattere di " a capo "

sino adesso inserendo i valori in tabelle o div bastava che facessi un replace da \n a <br/>
ma adesso dovendo inserirlo in un'altra textarea non va bene, infatti se scrivo :

stringa = " ciao <br/> come <br/> stai ? ";

nella textarea non mi va daccapo, me lo riporta cosi come lo vedete....

quindi avrei bisogno del replace all'incontrario prima di inserirlo nella textarea, cioè :

stringa = stringa.replace ( /<br/> /g, "\n") ma non mi funziona.... dove erro ??

Grazie per vostre eventuali risposte :)
Saluti . Domenico.
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Risoltoooo , con aiuto della rete chiaramente , trovato sito straniero e ho visto cosi :

stemtn = stemtn.replace(/<br\s*[\/]?>/gi, "\n");

e funziona..... ma sincero... stavolta proprio non riesco a capire il perchè di tutta sta sintassi.... :(
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
E sono anche indispettito perchè non sono riuscito a trovare un sito di dove me parla di questi simboli... :(

se ne conoscete uno per cortesia....
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
E sono anche indispettito perchè non sono riuscito a trovare un sito di dove me parla di questi simboli... :(

se ne conoscete uno per cortesia....



Ciao,

quando si usano caratteri speciali devi antecederli dal back-slash \

se è <br/> hai un carattere speciale / il replace basta;


stemtn = stemtn.replace(/<br\/>/g, "\n");


(/<br\s*[\/]?>/gi, "\n");


\s Corrisponde a un carattere singolo spazio vuoto, compreso lo spazio, tabulazione, avanzamento, avanzamento riga.

* Corrisponde al carattere precedente 0 o più volte.

[] Indicano un blocco di tipo stringa.

? Corrisponde al carattere precedente 0 o 1 volta.

g Indica un abbinamento globale (ovvero verranno abbinate tutte le istanze che corrispondono all'espressione regolare e non solo la prima).

i Indica di non distinguere tra maiuscole e minuscole.


Prova questo anche riferito alla textarea a capo senza barra


Codice:
<!DOCTYPE html>
<html>
<head>
<title>Ridimensiona Textarea</title>
<style type="text/css">
textarea {
    border: 1px solid red;
    overflow: hidden;
    padding: 0;
    outline: none;
    resize: none;
}
</style>
<script type="text/javascript">

var stemmak = []
               
stemmak[0]="";
stemmak[1]="Altavilla";
stemmak[2]="Asburgo Impero";
stemmak[3]="Asburgo Lorena";
stemmak[4]="Baden";
stemmak[5]="Baviera";
stemmak[6]="Sassonia <br/> Coburgo <br/> Gotha";

function scrivistemma() {  
                                   
var stemtn ="";
  
          for(var y = 1; y < stemmak.length; y++) {
        
	  stemtn = stemmak[y]; 

          stemtn = stemtn.replace(/<br\/>/g, "\n");
      
	  document.getElementById("text").value += stemtn;

       } 
}
var o;
if (window.attachEvent) {
    o = function (element, event, handler) {
    element.attachEvent('on'+event, handler);
    };
}
else {
    o = function (element, event, handler) {
    element.addEventListener(event, handler, false);
    };
}
function inizia() {
	
	var text = document.getElementById('text');
    function ridimensiona() {
        text.style.height = 'auto';
        text.style.height = text.scrollHeight+'px';
    }
	
    function ritardo() {
        window.setTimeout(ridimensiona, 0);
    }
    o(text, 'change',  ridimensiona);
    o(text, 'cut',     ritardo);
    o(text, 'paste',   ritardo);
    o(text, 'drop',    ritardo);
    o(text, 'keydown', ritardo);

    text.focus();
    text.select();
    ridimensiona();
  }
</script>
</head>
<body>
<a href="javascript:void(0)" onclick="scrivistemma();inizia()">Clicca</a><br><br>
<textarea rows="10" id="text" cols="33"></textarea>

</body>
</html>



Valeria.
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Buongiorno, si F107, intendevo un sito del genere , merci.

Valeria ti ringrazio ma adesso me lo devo studiare.... per te è immediato ... io spero di comprenderlo e cosi imparo altro.... è la prima volta che vedo impostato una cosa del genere .... aspettatemi che tornerò :)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Si ok, il funzionamento logico mi è chiaro perfettamente ma una cosa non conosco... questo tipo di codice che hai usato :

HTML:
 o(text, 'change',  ridimensiona);
    o(text, 'cut',     ritardo);
    o(text, 'paste',   ritardo);
    o(text, 'drop',    ritardo);
    o(text, 'keydown', ritardo);

si avvicina al concetto delle jquery ??? mai visto... :(
 

f107

Utente Attivo
7 Ago 2012
206
6
18
Roma
Si ok, il funzionamento logico mi è chiaro perfettamente ma una cosa non conosco... questo tipo di codice che hai usato :

HTML:
 o(text, 'change',  ridimensiona);
    o(text, 'cut',     ritardo);
    o(text, 'paste',   ritardo);
    o(text, 'drop',    ritardo);
    o(text, 'keydown', ritardo);

si avvicina al concetto delle jquery ??? mai visto... :(

il trucco è qui:
Codice:
 o = function (element, event, handler) {
    element.addEventListener(event, handler, false);
    };
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
in effetti tramite la variabile "o" passa i parametri alla funzione ... wow... ok.. altra figuraccia... :)
Grazie della pazienza .... :)
 

cavaliere123

Utente Attivo
31 Lug 2012
416
0
16
Quindi " * " e " ? " sono i classici caratteri definiti : jolly....
e \s il codice dello spazio e via dicendo....
Abituato ad usarli in word o nelle ricerche sul pc .... mai qua :)
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
il trucco è qui:
Codice:
 o = function (element, event, handler) {
    element.addEventListener(event, handler, false);
    };


Ciao,

quello script è stato fatto per altri scopi,

Codice:
<!DOCTYPE html>
<html>
<head>
<title>Ridimensiona Textarea</title>
<style type="text/css">
textarea {
    border: 1px solid red;
    overflow: hidden;
    padding: 0;
    outline: none;
    resize: none;
}
</style>

<script type="text/javascript">
var o;
if (window.attachEvent) {
    o = function (element, event, handler) {
    element.attachEvent('on'+event, handler);
    };
}
else {
    o = function (element, event, handler) {
    element.addEventListener(event, handler, false);
    };
}
window.onload=function inizia() {
	
	var text = document.getElementById('text');
    function ridimensiona() {
        text.style.height = 'auto';
        text.style.height = text.scrollHeight+'px';
    }
	
    function ritardo() {
        window.setTimeout(ridimensiona, 0);
    }
    o(text, 'change',  ridimensiona);
    o(text, 'cut',     ritardo);
    o(text, 'paste',   ritardo);
    o(text, 'drop',    ritardo);
    o(text, 'keydown', ritardo);

    text.focus();
    text.select();
    ridimensiona();
  }
</script>
</head>
<body>
<br>
<textarea rows="10" id="text" cols="33"></textarea>

</body>
</html>

se togli da:

Codice:
o(text, 'change',  ridimensiona);
    o(text, 'cut',     ritardo);
    o(text, 'paste',   ritardo);
    o(text, 'drop',    ritardo);
    o(text, 'keydown', ritardo);

keydown

non ridimensiona la textarea se scrivi

paste se incolli


ecc....


Valeria.
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Quindi " * " e " ? " sono i classici caratteri definiti : jolly....
e \s il codice dello spazio e via dicendo....
Abituato ad usarli in word o nelle ricerche sul pc .... mai qua :)

Ciao,

diciamo di si

\s

(/<br\/>/g, "\n");

se invece di <br/> scrivi <br /> non funziona, caretteri obbligati <br/>

(/<br\s*[\/]?>/gi, "\n")

funziona con <br> <BR> <br/> <br /> <BR />


Valeria.
 
Discussioni simili
Autore Titolo Forum Risposte Data
C [HTML] Stampo contenuto di una variabile in TEXTAREA allineamento HTML e CSS 1
zorro Inserire emoticons in una textarea HTML e CSS 1
zorro Inserire emoticons in una textarea PHP 1
L preview di una textarea con layout del sito PHP 2
V [risolto] Contatore caratteri stile SMS da una textarea Javascript 6
V [risolto] Aggiungere righe dinamicamente ad una textarea Javascript 4
M Visualizzare record in una textarea è possibile? PHP 2
S Dividere una textarea PHP 1
C Visualizzare i caratteri accentati e speciali in una textarea Javascript 16
C Aumentare le dimensioni di una textarea in funzione delle righe presenti. Javascript 13
R select dinamiche che riportano valori in una textarea. Javascript 8
T ridefinire una textarea HTML e CSS 0
M Importare testo e foto in una textarea Flash 21
Z Far apparire una textarea cliccando su submit Javascript 2
Z Recuperare in un prompt il valore selezionato in una textarea Javascript 0
A Gestione del ritorno a capo in una textarea Classic ASP 3
U inserire faccine con un click in una textarea Javascript 39
E Come ricavare il valore di una textarea ? Classic ASP 5
P C# Salvare una colonna del DataGridView XML 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
M Leggere in un report il valore di una casella combinata di una maschera Database 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
I stampare una stringa echo PHP 2
MarcoGrazia Riprendere una sessione interrotta PHP 0
L Rendere una parte trasparente Photoshop 3
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
K Visualizzare del html responsive in una Webview Sviluppo app per Android 0
otto9due Ordinare option di una select Javascript 5
N Come si crea una variabile dinamica da incrementare? Javascript 1
L Eliminazione di una pagina dalla gallery SEO e Posizionamento 0
otto9due Proteggere una cartella e file con password tramite .htaccess e .htpasswd Web Server 0
L Riempimento di una tabella al click di un bottone Javascript 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
A media degli elementi estratti da una query MySQL 0
spider81man Eliminare primo ed ultimo carattere di una colonna MySQL 0
pacemattia408 disattivazione di una function Javascript 4
G Eliminare l'effetto refresh di una pagina internet PHP 8
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
M Select Option dentro una Table jQuery 2
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
E Scrivere una data corrente in un pdf PHP 1
Sergio Unia Problema con gli eventi del mouse su una data table: Javascript 2
I Assegnare dati fetch request ad una variabile globale Javascript 0
Shyson Puntare ad una sotto directory WordPress 3
Stex1967 Salvare una immagine che si trova su porta TCP 8080 di altro sito PHP 7
S Selezionare ultimo record di una sotto query MySQL 27
V Query per una somma PHP 2

Discussioni simili