Como substituir espaço por "_"

3,098 views
Skip to first unread message

André Luiz Bellafronte

unread,
Jan 10, 2008, 10:18:07 AM1/10/08
to list...@googlegroups.com
Boa tarde a todos,

estou com um problema na hora de fazer o upload das fotos, quando eu faço o upload da foto, pesso para subistituir pelo inserido no campo mais id da foto (01,02..), mas quando a pessoa coloca dois nomes, ex: André Luiz, o script substitui por André Luiz-001.gif, na hora de chamar a foto da erro por causa do espaço e acentuação, como faço para substituir os acentos e espaços por "_"?

Grato a todos

--
Prosperidade,

André Bellafronte

Kico Zaninetti

unread,
Jan 10, 2008, 10:19:38 AM1/10/08
to list...@googlegroups.com
procure a função str_replace

Allan Schmitt

unread,
Jan 10, 2008, 10:23:41 AM1/10/08
to LISTA PHP
<?php
$nome = str_replace(" ", "_", $foto);
?>

Mais se vc for fazer essas substituição utilizando um array como a
palavra para substituir utilize: preg_ match

flow

On 10 jan, 12:18, "André Luiz Bellafronte"

Felipe Cardoso Martins

unread,
Jan 10, 2008, 10:32:51 AM1/10/08
to list...@googlegroups.com
www.php.net

--
Abraço,

Felipe Cardoso Martins
felipe.card...@gmail.com

André Luiz Bellafronte

unread,
Jan 10, 2008, 11:09:33 AM1/10/08
to list...@googlegroups.com
            $con->executar("SELECT * FROM atletas WHERE id_atleta=$num limit 0,1");
            $linha=$con->pegaLinha();
            $nome=$linha['nome'];
            if (isset($linha)) {
                if (isset($linha['foto'])){
                        $id =$linha['id_atleta'];
                        $nome = $linha['nome'];
                        $fotoBd = $linha['foto'];
                        if ($fotoBd == "") {
                        //$id = $id + 1;
                        //echo "soma=$strFoto";
                        //$nome2 == $nome;
                        $nome = str_replace(" ","_",$nome);
                        $strNum = strlen($id);
                        if ($strNum == 1) {
                            $strFoto = "atleta-".$nome."-000".$id.$strType;
                        //echo "foto1=$strFoto";
                        }
                        if ($strNum == 2) {
                            $strFoto = "atleta-".$nome."-00".$id.$strType;
                        //echo "foto2=$strFoto";
                        }
                        if ($strNum == 3) {
                            $strFoto = "atleta-".$nome."-0".$id.$strType;
                        //echo "foto3=$strFoto";
                        }
                        if ($strNum == 4) {
                            $strFoto = "atleta-".$nome."-".$id.$strType;
                        //echo "foto3=$strFoto";
                        }
                } else {
                    $strFoto = $fotoBd;   
                }
            }
        }


--
Prosperidade,

André Bellafronte

André Luiz Bellafronte

unread,
Jan 10, 2008, 11:10:31 AM1/10/08
to list...@googlegroups.com
Fiz dessa forma e nao ocorreu nada...
--
Prosperidade,

André Bellafronte

Marcos Darui Almeida

unread,
Jan 10, 2008, 11:25:31 AM1/10/08
to list...@googlegroups.com
para eu remover caracteres invalidos, uso isso:
 
function removeinvalidos($var)
 {
  $tam = 200;
  $sizeName = strlen($var); 
  $a="ÁáÉéÍíÓóÚúÇçÃãÀàÂâÊêÎîÔôÕõÛû& -!@#$%¨&*()_+}=}{[]^~?/:;><,'´`\"";
  $b="AaEeIiOoUuCcAaAaAaEeIiOoOoUue_________________________________";
  $var = strtr($var,$a,$b);    
  $var = strtolower($var); 
  if ($sizeName>$tam)
  {
          $var = substr($var,0,$tam);
  }  
  return $var;
 }
 
 
$novo = removeinvalidos ($original);
 
 
Atte
 
Marcos Darui Almeida
 

Mário Júnior

unread,
Jan 10, 2008, 11:26:58 AM1/10/08
to list...@googlegroups.com
Opa companheiro... blz...
é.. só pra te ajudar com boas práticas de programação, arruma esses ifs aí, troque-os por printf("formato", "valor");

Da maneira q está, esses ifs poderiam até ser postado no http://thedailywtf.com/

Abraços e boa sorte.


Júnior
--
Mário de Souza Júnior
Programador Java / Flex (actionscript) / PHP
(44) 4009-3550
Maringá-PR
junin...@gmail.com (gtalk, msn, etc..)

Mário Júnior

unread,
Jan 10, 2008, 11:29:14 AM1/10/08
to list...@googlegroups.com
antigamente, eu abusava do ereg_replace
http://br2.php.net/manual/pt_BR/function.ereg-replace.php



Abraços

O Estagiario

unread,
Jan 10, 2008, 11:47:17 AM1/10/08
to LISTA PHP
O arquivo da foto é armazenado no BD ou somente o caminho?

Nao sei qual o banco que voce usa, mas todo caso se for oracle (nao
sei se em outros BDs tbm existe essa funçao) pode usa um SUBSTR na
hora da inserçao para remover o espaço em branco ou qualquer outro
caracter...

Ou se preferir o str_remplace que ja comentaram antes!

Felipe Cardoso Martins

unread,
Jan 10, 2008, 12:35:54 PM1/10/08
to list...@googlegroups.com
Use www.pastebin.com para postar código!

É horrível no corpo do email :P

O Estagiario

unread,
Jan 10, 2008, 1:22:18 PM1/10/08
to LISTA PHP
Com todo respeito mas é muita frescura ir ate um site para formatar e
depois colar novamente aqui a resposta aos topicos

Felipe Cardoso Martins

unread,
Jan 10, 2008, 1:46:52 PM1/10/08
to list...@googlegroups.com
> Com todo respeito mas é muita frescura ir ate um site para formatar e
> depois colar novamente aqui a resposta aos topicos

Em minha opinião é mais proveitoso...

--- Exemplo ---
Dúvida: Estou com este script < http://pastebin.com/m58e62339 > que
da este erro: Bla bla bla bla bla bla.
Resposta: E outro usuário simplesmente faria: A sintaxe do echo é está
< link da documentacao > e resolvido fica <
http://pastebin.com/f120a6f68 >
---

Acho que fica mais claro... mais cada um tem um ponto de vista e vai
dos moderadores o controle e de cada um o tipo de resposta!

André Luiz Bellafronte

unread,
Jan 10, 2008, 4:29:03 PM1/10/08
to list...@googlegroups.com
O caminho é gravado no BD MySQL
--
Prosperidade,

André Bellafronte

Antonio Cezar Locutor

unread,
Jan 11, 2008, 6:18:47 AM1/11/08
to list...@googlegroups.com
Entre tantos E-Mails, querer obrigar pessoas atarefadas, que lêem vários
E-Mails voluntariamente, a também se aplicarem a tarefa de abrir páginas
e mais páginas, é algo no mínimo "esdrúxulo", pra não definir de forma
mais particularmente ligada à tal sugestão...

Visite:

www.aminhavoz.com

use o serviço gratuito de lembretes por E-Mail, tenha acesso a um dos
mais completos bancos de datas comemorativas da Internet e ouça crônicas
de Antonio Cezar Locutor.

--


Antonio Cezar Locutor.

Fale comigo, colando um dos endereços abaixo no executar do Windows ou
na barra do seu navegador:


http://www.aminhavoz.com/


skype:www.aminhavoz.com?call


msnim:chat?contact=liveme...@aminhavoz.com


BlackRose

unread,
Jan 11, 2008, 6:40:53 AM1/11/08
to LISTA PHP
use switch nesse condicionamento de ifs aí ...

http://www.php.net/manual/pt_BR/control-structures.switch.php


On Jan 10, 2:09 pm, "André Luiz Bellafronte"
Reply all
Reply to author
Forward
0 new messages