salve, ho un problemino con il replace in JS.
questo è il codice del JS:
<script language="JavaScript" type="text/JavaScript">
<!--
function convHTML(testo) {
testo = testo.replace('[+clrTxt]', '<font color="');
testo = testo.replace('[-clrTxt]', '">');
testo = testo.replace('[+b]', '');
testo = testo.replace('[-b]', '');
testo = testo.replace('[+c]', '');
testo = testo.replace('[-c]', '');
testo = testo.replace('[+u]', '<u>');
testo = testo.replace('[-u]', '</u>');
// testo = testo.replace('<', '<');
// testo = testo.replace('>', '>');
document.getElementById('preview').innerHTML = testo;
}
//-->
</script>
mi fa il replace solo una volta, in pratica se nella tringa compare la seguente frase:
"[+b]testo1[-b] normalText [+b]testo2[-b]"
quando faccio l'innerHTML mi da il grassetto al primo testo, mi chiude il tag, ma nel sencodo caso nn mi fa il replace con i tag, ma visualizza il testo così comè, è cioè:
"testo1 normalText [+b]testo2[-b]"
come risolvere????????????
La funcione la richiamo così:
<input type="text" name="mess" size="70" class="inputText" id="mess" onKeyPress="convHTML(this.value);" onKeyDown="convHTML(this.value);" onKeyUp="convHTML(this.value);" onChange="convHTML(this.value);">
mentre il layer del'inneHTML è questo:
<div id="preview"></div>
per favore è urente![]()
![]()
![]()
![]()
![]()