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

    [jscript] replace char in entity

    Ciao a tutti,
    ho uno script che controlla ed eventualmente sostituisce i doppi apici in entità in modo da non confondere il sistema.

    codice:
    function escapeChar(str){
    	str = str.replace("<", "&lt;");
    	str = str.replace(">", "&gt;");
    	str = str.replace("\"", "&#34;");
    	str = str.replace("\'", "&#39;");
    	str = str.replace("\/", "&#47;");
    	str = str.replace("\\", "&#92;");	
    	return str;
    }
    Il problema è che se provo ad inserire una parola tra i doppi apici
    codice:
    "test"
    nel database me lo ritrovo così
    codice:
    & #34;test"
    (ho aggiunto uno spazio se non non si vedeva l'apice sottoforma di entità)

    Perchè il primo me lo sostituisce e il secondo invece no?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao Sandrocchio_0.1
    il primo parametro del replace è una regular expression. Se non gli dici che deve essere globale verrà sostituita solo la prima corrispondenza trovata.
    codice:
    function escapeChar(str){
      str = str.replace(/</g, "&lt;");
      str = str.replace(/>/g, "&gt;");
      str = str.replace(/"/g, "&#34;");
      str = str.replace(/'/g, "&#39;");
      str = str.replace(/\//g, "&#47;");
      str = str.replace(/\\/g, "&#92;");	
      return str;
    }
    quota il mio messaggio per prelevare il codice dalla textarea

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    oppure copia e incolla questo
    codice:
    function escapeChar(str){
      str = str.replace(/</g, "&lt;");
      str = str.replace(/>/g, "&gt;");
      str = str.replace(/"/g, "&#34;");
      str = str.replace(/'/g, "&#39;");
      str = str.replace(/\//g, "&#47;");
      str = str.replace(/\\/g, "&#92;");	
      return str;
    }

  4. #4
    fantastico.

    Purtoppo non sono molto ferrato con le REGEX.

    Grazie mille comunque.

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.