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

    sostituzione caratteri accentati

    Ciao a tutti,
    qualcuno saprebbe dirmi perchè in javascript ad una funzione del genere:

    function Replace(str)
    {
    str = str.replace("à", "à");
    return str;
    }

    ho un Errore del tipo: " previsto ')' " ?

    come sostituire altrimenti caratteri accentati di un testo, e dare a HTML la possibilità di interpretare questi caratteri in modo corretto?

    grazie.

  2. #2

    Re: sostituzione caratteri accentati

    Originariamente inviato da pinimoteo
    Ciao a tutti,
    qualcuno saprebbe dirmi perchè in javascript ad una funzione del genere:

    function Replace(str)
    {
    str = str.replace("à", "à");
    return str;
    }

    ho un Errore del tipo: " previsto ')' " ?

    come sostituire altrimenti caratteri accentati di un testo, e dare a HTML la possibilità di interpretare questi caratteri in modo corretto?

    grazie.
    Questo
    codice:
    <html>
    <head>
    <script language="Javascript">
    function rimpiazza(str)  
    {  str = str.replace("à", "&agrave;");   alert(str);	
    	}	
    </script></head><body >
    <form name ="form">
    <input type="testo"> <input type="button" name="" onClick="rimpiazza('à')">
    </form>
    </body>
    </html>
    funge, ma devi passargli una lettera per volta.

    altrimenti cicli sulla stringa
    while (i<str.length)
    {
    str = str.replace("à", "&agrave;");
    i++;
    }

    non l'ho provato.. famme sapè

  3. #3
    grazie mille Krakovia di aver risposto e scusa per il mio ritardo,
    come avrai intuito c'è un errore nel semplice codice che ho inviato cioè il secondo argomento della funzione replace() è l'equivalente in html della "à" che il programma del forum automaticamente mi ritrasfmorma;
    per quanto riguarda la tua risposta ho dei dubbi, in quanto la caratteristica del replace() di Javascript è di evitare iterazioni.

    adesso mi chiedo tutte quelle persone che importano files di testo ed hanno bisogno di evitare problemi con lettere accentate in html come fanno? possibile che nessuno di questo forum ha mai avuto di questi problemi e messo a punto un codice , eventualmente con 'espressioni regolari'?

    Salutoni

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Il primo argomento del metodo .replace() e` una RegExp.

    Quindi per la ricorsivita`:
    str = str.replace(/&agrave;/g, "&amp;agrave;")

    per l'errore che ti da`, potrebbe essere dovuto ad un errato charset nella pagina, per cui il carattere accentato non viene riconosciuto (cioe` viene riconosciuto come errore).

    (se dai il corretto charset il replace poi non serve neppure).

    Ma perche` affronti tali problemi lato client? non sarebbe piu` semlice, logico, utile lavorare lato server?
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Ennesime scuse per l'ennesimo ritardo e non so se avrò risposta,
    comunque grazie al moderatore per il suggerimento;
    a dire il vero lavoro normalmente in asp.net, ma per alcune cose ho trovato divertente cimentarmi con javascript, e a dirla tutta, a determinati livelli, ho visto, che è più di un semplice linguaggio di scipting (non lo sapevo , ma è possibile costruire degli oggetti etc..).
    Per tornare al mio proplema, quei programmatori che devono importare con javascript file di testo, non so, da una sorgente di dati quale può essere un file xml, non hanno problemi con le lettere accentate?

    P.S.
    Ovviamente la prima cosa che ho fatto vedendo il problemino, è stato quello di settare un corretto charset tramite il metatag ma niente.

    Salutoni

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Nelle RegExp si possono esprimere dei caratteri anche attraverso il codice esadecimale o ottale.

    Mi pare che la sintassi sia:
    \0123 numero ottale
    \x7E numero esadecimale.

    Comunque controlla in un manuale JS.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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 © 2025 vBulletin Solutions, Inc. All rights reserved.