Erro ao usar str_replace()
Estou com um problema para usar o str_replace da maneira mais otimizada possível.
function replaceNotas($nota){
$notas = [
1 => "C", 2 => "C#", 3 => "Db", 4 => "D",
5 => "D#", 6 => "Eb", 7 => "E", 8 => "F",
9 => "F#", 10 => "Gb", 11 => "G", 12 => "G#",
13 => "Ab", 14 => "A", 15 => "A#", 16 => "Bb",
17 => "B",
];
$replaceNotas = [
1 => "&C&", 2 => "&C#&", 3 => "&Db&", 4 => "&D&",
5 => "&D#&", 6 => "&Eb&", 7 => "&E&", 8 => "&F&",
9 => "&F#&", 10 => "&Gb&", 11 => "&G&", 12 => "&G#&",
13 => "&Ab&", 14 => "&A&", 15 => "&A#&", 16 => "&Bb&",
17 => "&B&",
];
$nota = str_replace($notas, $replaceNotas, $nota);
return $nota;
}
A função basicamente recebe uma string com as notas, precisa colocar essas notas entre "&"
A notas "comuns", sem símbolos está funcionando corretamente, o problema é que as com símbolos a função coloca somente a nota entre "&". Ex: Tenho a nota "C#", o que eu quero é que fique "&C#&" porém a função primeiro substitui somente o "C", ignorando o símbolo. O que será que eu teria que fazer para que a substituição ocorresse normalmente? Eu preciso que cada index da array $notas seja substituído somente pelo mesmo index da array $replaceNotas.Discussão (3)
Carregando comentários...