ciao a tutti... vorrei sapere come trasformare le lettere accentate (tipo è, à etc...) in maiuscole... con strtoupper() non me le trasforma in maiuscole... me le lascia minuscole... c'è qualche altra funzione per la trasformazione? Grazie mille
ciao a tutti... vorrei sapere come trasformare le lettere accentate (tipo è, à etc...) in maiuscole... con strtoupper() non me le trasforma in maiuscole... me le lascia minuscole... c'è qualche altra funzione per la trasformazione? Grazie mille
Codice PHP:
$str = str_replace("è", "È", $str);
$str = str_replace("é", "É", $str);
$str = str_replace("à", "À", $str);
$str = str_replace("ì", "Ì", $str);
$str = str_replace("ù", "Ù", $str);
$str = str_replace("ò", "Ò", $str);
![]()
questo è il mio codice, ma quando mi viene inserito il valore sul db mi resta comunque minuscola...Codice PHP:
$str = strtoupper($_POST['nome']);
echo $str;
$str = str_replace("è", "È", $str);
$str = str_replace("é", "É", $str);
$str = str_replace("à", "À", $str);
$str = str_replace("ì", "Ì", $str);
$str = str_replace("ù", "Ù", $str);
$str = str_replace("ò", "Ò", $str);
$encoded = $str;
tra l'altro non effettua proprio il replace... questo è il risultato dell'elaborazione, tirato fuori dal codice html:Codice PHP:
èéòàù
èéòàù
èéòàù
Perchè non devi inserire la parte strtoupper PRIMA delle sostituzioni, ma dopo!
questo è un esempio trovato su PHP.net, penso possa essere utile
Codice PHP:
<?php
function fullUpper($str){
// convert to entities
$subject = htmlentities($str,ENT_QUOTES);
$pattern = '/&([a-z])(uml|acute|circ';
$pattern.= '|tilde|ring|elig|grave|slash|horn|cedil|th);/e';
$replace = "'&'.strtoupper('\\1').'\\2'.';'";
$result = preg_replace($pattern, $replace, $subject);
// convert from entities back to characters
$htmltable = get_html_translation_table(HTML_ENTITIES);
foreach($htmltable as $key => $value) {
$result = ereg_replace(addslashes($value),$key,$result);
}
return(strtoupper($result));
}
echo fullUpper("try this: äöüß");
?>
Prova ad aggiungere questa riga
setlocale(LC_CTYPE,'it_IT');
c'è un problema su quella funzione: i caratteri che vengono inseriti sul database che poi vado a leggere vengono inseriti con caratteri sbagliati... e anche se imposto il setlocale non cambia nulla...
edit: questi sono i caratteri che mi vengono inseriti: &;&;&;&;&;