Newsgroup: it.comp.www.php
Titolo: Da < a &lt;

Ho una variabile che contiene dei carattari che possono dar problemi a
mysql.
Dove posso trovare una tabella che elenchi tutti quei codici "&lt; &nbsp;"
che sostituiscono "<>";.:.." in modo che usando ereg riesco a modificarli?
ESEMPIO
" " = &nbsp;
"<" = "&lt;
Poi volevo chidervi se potevo usare uno script un pò più ottimizzato e
corretto, visto che questo non funziona
    $testo = ereg_replace ("<", "&lt;", $testo);
    $testo = ereg_replace (">", "", $testo);
    $testo = ereg_replace (":", "", $testo);
    $testo = ereg_replace (";", "", $testo);
    $testo = ereg_replace (".", "", $testo);
    $testo = ereg_replace ("-", "", $testo);
    $testo = ereg_replace ("_", "", $testo);
    $testo = ereg_replace ("@", "", $testo);
    $testo = ereg_replace ("#", "", $testo);
    $testo = ereg_replace (",", "", $testo);
    $testo = ereg_replace ("[", "", $testo);
    $testo = ereg_replace ("]", "", $testo);
    $testo = ereg_replace ("$", "", $testo);
    $testo = ereg_replace ("\"", "", $testo);
    $testo = ereg_replace ("\!", "", $testo);
    $testo = ereg_replace ("%", "", $testo);
    $testo = ereg_replace ("&", "", $testo);
    $testo = ereg_replace ("/", "", $testo);
    $testo = ereg_replace ("\(", "", $testo);
    $testo = ereg_replace ("\)", "", $testo);
    $testo = ereg_replace ("=)", "", $testo);
    $testo = ereg_replace ("\?", "", $testo);
    $testo = ereg_replace ("\'", "", $testo);
    $testo = ereg_replace ("\^", "", $testo);
ERRORE
Warning: REG_EBRACK: in c:\html//... on line 21
Warning: Cannot add header information - headers already sent by (output
started at c:\html.....:21) in c:\html/....on line 49
Grazie in anticipo

 started at c:\html.....:21) in c:\html/....on line 49
Il problema č anche il mio....
Il tipo di errore riportato dipende dalla riga
$testo = ereg_replace ("[", "", $testo);
Se sostituisci quel carattere non da piů l'errore ma.... per poter cambiare
quel carattere??
Secondo... non mi accetta piů modifiche con il ereg_replace, nel senso che
ho impostato 13 modifiche e qualunque cosa scriva mi ritora la dodicesima
:-)
I misteri dei newbies ehehehehhe
Wittolo

// $document should contain an HTML document.
// This will remove HTML tags, javascript sections
// and white space. It will also convert some
// common HTML entities to their text equivalent.
$search = array ("'<script[^>]*?>.*?</script>'si",  // Strip out javascript
                 "'<[\/\!]*?[^<>]*?>'si",  // Strip out html tags
                 "'([\r\n])[\s]+'",  // Strip out white space
                 "'&(quote|#34);'i",  // Replace html entities
                 "'&(amp|#38);'i",
                 "'&(lt|#60);'i",
                 "'&(gt|#62);'i",
                 "'&(nbsp|#160);'i",
                 "'&(iexcl|#161);'i",
                 "'&(cent|#162);'i",
                 "'&(pound|#163);'i",
                 "'&(copy|#169);'i",
                 "'&#(\d+);'e");  // evaluate as php
$replace = array ("",
                  "",
                  "\\1",
                  "\"",
                  "&",
                  "<",
                  ">",
                  " ",
                  chr(161),
                  chr(162),
                  chr(163),
                  chr(169),
                  "chr(\\1)");
$text = preg_replace ($search, $replace, $document);
Guarda un po' che ho trovato?
non č come ereg ma penso possa funzionare bene epiů velocemente.
In piů da questo esempio del muale hai direttamente lo script su come far
visualizzare i caratteri non facendoli interpretare come html.

on line 21
        ^^^^ 
Tra l'altro, quel numero li', che sembrerebbe un numero casuale generato
per movimentare il messaggio d'errore, ti dice a quale riga hai commesso
qualcosa che al PHP non e' piaciuto... e' una funzione non documentata e
usata da pochi guru, ma utilissima, ti garantisco ;-)
Leonardo
-- 
".signature": bad command or file name

quel carattere??
Ach. In kwel kaso, pisogna stutiare manuale und apprentere sottighliezze
ti espressioni regolaren.
"[" e' karattere speziale und serfe a spezifikare intervallo: "[A-Z]". E
kwindi non puo' essere usato da solo: sistema se inkazza und segnala che
non e' presente secondo BRACKet, e segnala ERR di BRACK.
Occorre spezifikare [ usando sua sintassi spezialen ke io non ti dice, e
cosi' tu deve leggere manualen dove trovi molte altre belle cose, ad es.
come fare TUTTE tue sostituzioni con UNA unica instruzionen usando POSIX
regexp.
Auf wiedersehen,


Crazia a te molte mille.
Io me stafa perdendo in quel cazz de manual, tu m'ha rischiarate la mente ei
korp.
Crazie angore.
ihihihihih

Ma usare
htmlspecialchars() e htmlentities()
non vi pare piu facile ?
--
"L'idea di base è estremamente semplice..."
©opyright Frank "Pazzooo" Contrepois (schiavista francese del '900)