¿Por qué var_dump devolvería un valor mayor que la longitud de la cadena?
Estoy trabajando para obtener algunas letras de canciones usando una API y convertir la cadena de letras en una variedad de palabras. Tengo algunos comportamientos inusuales en la función preg_replace. Cuando realicé una depuración usando var_dump, veo que var_dump devuelve un valor de 10 para la cadena "usted", lo que me dice que podría haber algo mal. Después de eso, preg_replace actúa de manera extraña.
Este es mi código:
$source = get_chart_lyrics_data("madonna","frozen");
$pieces = explode("\n", $source);
$lyrics = array();
for($i=0;$i<count($pieces);$i++){
if($i>10){
$words = explode(" ",$pieces[$i]);
foreach($words as $_word){
if($_word=="")
continue;
var_dump($_word);
$word = strtolower($_word);
var_dump($word);
$word = trim($word);
var_dump($word);
$word = preg_replace("/[^A-Za-z ]/", '', $word);
var_dump($word);
$lyrics[$word]++;
}
}
}
Estas son las primeras 4 líneas que devuelve este código:
string(10) “You”
string(10) “you”
string(10) “you”
string(8) “lyricyou”
¿Cómo es que var_dump está devolviendo un valor de 10 para "usted"? ¿Y por qué preg_replace está actuando así?
Gracias.