Ir para conteúdo

POWERED BY:

Arquivado

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

Gerep

Quebrar String

Recommended Posts

Pessoal, eu estou alimentando um comboBox com nomes de bairros da minha cidade

 

Acontece que alguns bairro tem nomes muito grandes como "Prolongamento Jardim Doutor Antônio Petráglia" e quando a comboBox recebe este valor, ela fica do tamanho do texto, atrapalhando o resto do site porte empurra os ouros elementos pro lado.

 

Alguém ai conhece alguma função que eu possa contar os caracteres e quebrar em um valor determinado?

 

Eu já tentei substr_count() mas não tive sucesso porque ela precisa de um valor inicial e final e no caso, eu não posso usar um valor final porque posso ter bairros com nome muito grande como pequeno.

 

Muito obrigado pelo tempo e atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?

function quote($campo){

$digitos_max = 30;

$campotr_to_count = html_entity_decode($campo);

if(strlen($campotr_to_count) <= $digitos_max){return $campo;}

$campo2 = substr($campotr_to_count, 0, $digitos_max - 3);

$campo2 .= " ...";

return htmlentities($campo2);}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

naum sei se vai servir no contexto em que você quer aplicar, mas...

eu acharia melhor se antes de você usar um desses metodos pra "cortar" a string "na marra", passase por uma função abreviadora...

tipow:

function diminui_nome($nome) {
	$orig = array("Travessa", "Passagem", "Rodovia", "Avenida", "Doutor");
	$mini = array("Tv.", "Pass.", "Rod.", "Av.", "Dr.");
	return str_replace($orig, $mini, $nome);
}

a função reduziria "Prolongamento Jardim Doutor Antônio Petráglia" para "Prolongamento Jardim Dr. Antônio Petráglia"...

isso ajudaria a naum desorganizar o nome do local, se for implementada as substituições adequadas, pode ate eliminar a necessidade de "quebrar" a string...

 

abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também é uma opção acima...

Ele poderia incluir no array o "Jardim" também, como abreviação "Jd."

 

Mas ai fica algo voltado à situações particulares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugerira a mesma solução (substr()) se não houvesse esta parte no post do Gerep:

 

Eu já tentei substr_count() mas não tive sucesso porque ela precisa de um valor inicial e final e no caso, eu não posso usar um valor final porque posso ter bairros com nome muito grande como pequeno.

Aí fiquei na dúvida: que tipo de restrição você pretende fazer, se não quer usar número máximo de caracteres?

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.