Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

goruks

Nomes de pessoas - formatacao bd

Recommended Posts

Olá hoje estava vendo como existe usuario burro :P escrevem nomes tudo em minusculo ou tudo maiusculo e os direitos com primeira maiuscula. O negocio seguinte que uso nomes do bd para fazer otras coisas tipo documentos em serie ai fica tudo despadronizado.Oque vocês recomedam? estava pensado em guardar os nome todos em caixa alta no bd. Existe uma função do php para dar replace em toda string para caixa alta?ou há algum outra dica ;Dvlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma dica pra ficar legal

use as funções: trim(), strtolower() depois ucfirst() ou ucwords()

 

e para finalizar depois de usar as funções arrume as "De" para "de", "Da" para "da", etc... use str_replace

 

exemplo Fabyo Guimaraes De Oliveira para Fabyo Guimaraes de Oliveira

 

obs: se quiser existe uma função pronta no laboratorio que faz isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa vlw vou dar uma olhada eu achei uma no php manual nos comentarios la funciono legal tb ;D

so mudar o arry ali para da de do das dos que acho que sao os unicos usados em nomes :o

essa aqui oh

function strProper($str) {	$noUp = array('a','an','of','the','are','at','in');	$str = trim($str);	$str = strtoupper($str[0]) . strtolower(substr($str, 1));	for($i=1; $i<strlen($str)-1; ++$i) {		if($str[$i]==' ') {			for($j=$i+1; $j<strlen($str) && $str[$j]!=' '; ++$j); //find next space			$size = $j-$i-1;			$shortWord = false;			if($size<=3) {				$theWord = substr($str,$i+1,$size);				for($j=0; $j<count($noUp) && !$shortWord; ++$j)					if($theWord==$noUp[$j])						$shortWord = true;			}			if( !$shortWord )				$str = substr($str, 0, $i+1) . strtoupper($str[$i+1]) . substr($str, $i+2);		}   		$i+=$size;	}	return $str;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função do manual usa 3 for, olha essa aqui do Illidan é bem melhor:

 

function special_ucwords($string) {
/**
* @autor: Carlos Reche
* @data: 08/09/2004
*/

$retorno = array();
$string = strtolower(trim(preg_replace("/\s+/", " ", $string)));
$palavras = explode(" ", $string);

$retorno[] = ucfirst($palavras[0]);
unset($palavras[0]);

foreach ($palavras as $palavra)
{
if (!preg_match("/^([dn]?[aeiou][s]?|em)$/i", $palavra))
{
$palavra = ucfirst($palavra);
}
$retorno[] = $palavra;
}
return implode(" ", $retorno);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.