# formata nome para impressão abreviando as palavras internas $nome = strtoupper($nome); $strinv = strrev($nome); $ultnome = substr($strinv,0,strpos($strinv," ")); $ultnome = strrev($ultnome); $nome = strrev($strinv); $prinome = substr($nome,0,strpos($nome," ")); # $nomes = strtok($nome, " "); while($nomes): if (($nomes == 'E') || ($nomes == 'DE') || ($nomes == 'DOS') || ($nomes == 'DAS') || ($nomes == 'DA') || ($nomes == 'DO')) { $iniciais .= " ".$nomes; $nomes = strtok(" "); } elseif (($nomes == $ultnome) || ($nomes == $prinome)) { $nome = ""; $nomes = strtok(" "); } else { $iniciais .= " ".$nomes[0]; $nomes = strtok(" "); } endwhile; $nome = $prinome; $nome .= $iniciais; $nome .= " ".$ultnome; $nomes = ""; # fim da formatacao de nome Obs.: não esqueça de zerar todos as variáveis que são concatenadas após a impressão senão o próximo nome receberá as iniciais de todos os anteriores