PHP e caratteri accentati

di il
1 risposte

PHP e caratteri accentati

Ciao ho fatto un programmino per contare data una stringa il numero di caratteri e numeri presenti:
Il codice è questo:

<?php
	$s = 'nel mondo ci sono 7.000.000.000 di persone';
	$a = str_split($s);
	$ch = 0;
	$dgt = 0;
	for ($i=0; $i< count($a); $i++){
	  if($a[$i] == ' ') continue;
	  if(preg_match('/[0-9]/',$a[$i])){
	    $dgt += 1;
	  }else{
	    $ch += 1;
	  }
	}
	echo "$ch\n$dgt";
?>
//output
26
10
Il programma funziona alla perfezione fino a quando non inserisco una qualunque lettera accentata: se inserisco una è il conteggio diventa 28 - 10 come se la lettera accentata la contasse 2 volte.

Ho fatto qualche ricerca e sembra essere dovuto al multibytes string qualcuno saprebbe spiegare meglio perchè?

Grazie

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte