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

    rimuovere carattere ​

    Malidetto &.#8203; ?! (il punto dopo la & è una mia aggiunta) non riesco a rimuoverlo da una stringa.. nè con js nè con jquery


    ho incorporato questo wysiwyg in una pagina. l'utente scrive in un div, usato a mo di textarea. quando ha finito, conferma il suo messaggio, che viene assegnato ad un input hidden. a questo punto, il maledetto &.#8203; compare nella stringa dell'utente.
    Se ricerco la serie nel valore dell'hidden con un match o un indexOf, il risultato è .. nisba .. -1
    qualcuna ha idee per rimuoverlo?
    Ultima modifica di groucho baffone; 21-05-2014 a 23:26

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Da quel poco che ho visto in giro, l'aggiunta di particolari caratteri non visualizzabili (cosiddetti "a larghezza zero") è un problema conosciuto e si riscontra, appunto, nell'uso di diversi editor di testo. Ho trovato spiegazioni vaghe del perché accada e soluzioni ancora più vaghe.

    Ad ogni modo, invece di lanciare maledizioni a destra e sinistra, puoi provare a spiegarci come avviene la "conferma del messaggio" e come viene "assegnato ad un input hidden"?
    Magari puoi postare anche un po' di codice, per capire meglio dove si possa eventualmente intervenire.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    spero che i bit di &.#8203; non si siano risentiti per averli chiamati malidetti...

    questo link rimanda ad una pagina di prova. il problema si verifica dopo aver scritto e assegnato il messaggio. Volendolo modificare si clicca nuovamente il testo. E quì il browser si blocca, come se js cominciasse un ciclo infinito

    grazie per l'aiuto!

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ho riscontrato il problema che stai indicando. Ad ogni modo La pagina linkata presenta molteplici errori di sintassi nel codice html (alcuni gravi, come la mancanza di apertura/chiusura di vari tag) per cui, di primo acchito, non è semplice capire se il malfunzionamento possa nascere da questi errori (o esserne influenzato).
    Dovresti sistemare tutto il codice html o, nel caso, creare una pagina di prova che contenga esclusivamente le parti interessate al problema. Altrimenti sarà difficile aiutarti.



    PS: è sempre poco etico offendere un carattere a larghezza zero ... tienilo a mente.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    l'importante è credersi utili

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    313
    ti conviene integrare uno script che si chiama base64, praticamente converte tutti i codici particolari " ìèéò@#à" in base 64, poi quando li devi salvare nel db o altro usi la funzione nativa di php base64 decode o quella dello stesso script per riconvertirli in chiaro, ricorda che il risultato contiene due apici in più, quindi risolvi usando substr(base64_decode($my_string),1,-1); weilà il gioco e fatto.....

  7. #7
    non ho trovato lo script base64 (ma non ho rufolato neanche molto). però la tua idea m'è sembrata talmente buona che ho guardato le funzioni btoa() e atob()

    adesso sto provando un altro wysiwyg, wysihtml5.. se avrò difficoltà, tornerò all'altro editor e userò la codifica 64

    grazie! ti faccio sapere se ti interessa

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    313
    trovi qui il plugin

    https://github.com/dankogai/js-base64

    Header:
    codice:
    <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
    <script type="text/javascript" src="/js/base64.js" charset="UTF-8"></script>
    <script type="text/javascript" src="/js/my_function.js" charset="UTF-8"></script>
    my_function.js

    questa è una funzione di esempio che uso per mandare dei dati al server
    codice:
    $(document).ready(function(){
    
      function gestione_account(url,token,email,ragione_sociale){
           var obj;
           var temp;
           var new_ragione_sociale = Base64.encode(JSON.stringify(ragione_sociale));
           $.ajax({
                url:url+"admin_ajax_controller/gestione_account",
                type: "POST",
                data:{token:token,email:email,ragione_sociale:new_ragione_sociale},
                        
                success:function(result){
                    temp = result.split(",");
                    obj = jQuery.parseJSON(temp);
                },async:false
           });
    
           return obj;
                    
       }
    
    
    
    
    })
    mandare dati a php



    non ti mando tutto ma solo la parte che t'interessa, ovviamnete devi riadattare in base alle tue esigenze, ovviamente non considerare strtolower

    codice:
        public function gestione_account(){
            $token = $_POST['token'];
            $email = $_POST['email'];
            $ragione_sociale = $this->user_model->real_escape(substr(strtolower(base64_decode($_POST['ragione_sociale'])),1,-1));
            $id_sezione = 1;
    ...
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    per eliminare quel carattere prova con
    codice:
    stringa = stringa.replace("\u200b", "");
    200b dovrebbe essere il carattere unicode corrispondente a &#8203
    No

Tag per questa discussione

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.