escabelo 0 Denunciar post Postado Outubro 6, 2003 Salve comunidade!!! Tenho esse o valor ST10LM1. Quero tirar o valor em negrito e substituir por 14 por exemplo, como faço? Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 6, 2003 Mole colega: <?php$palavra_nova = str_replace('10','14','ST10LM1');echo $palavra_nova;?> Abrs. Compartilhar este post Link para o post Compartilhar em outros sites
escabelo 0 Denunciar post Postado Outubro 6, 2003 Mole colega: <?php$palavra_nova = str_replace('10','14','ST10LM1');echo $palavra_nova;?>Abrs.Colega, Meu maior problema é que o valor é um código e varia de qde. de caracteres, ou seja, o código ST10LM1, mas pode ser em um novo cadastro um código assim SS2LM1 e eu preciso alterar apenas o que está em negrito, por isso estou quebrando a cabeça. Me desculpe por não ter sido claro em meu em minha explicação. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Outubro 6, 2003 Me responda o seguinte então:-Você terá os dois primeiros caracteres sempre antes do tal número ? SS ou ST como no exemplo.-Após o número você terá sempre LM1 ou LM ? Bom quero saber se alguma coisa nesta string será fixa para retirar o que quero mudar e depois remontar a string com estes valores novamentes.Se for isso dá para fazer... responda e se ninguém ajudar amanhã pela manhã dou uma olhada.Boa noite. Compartilhar este post Link para o post Compartilhar em outros sites
escabelo 0 Denunciar post Postado Outubro 7, 2003 Me responda o seguinte então: -Você terá os dois primeiros caracteres sempre antes do tal número ? SS ou ST como no exemplo. -Após o número você terá sempre LM1 ou LM ? Bom quero saber se alguma coisa nesta string será fixa para retirar o que quero mudar e depois remontar a string com estes valores novamentes. Se for isso dá para fazer... responda e se ninguém ajudar amanhã pela manhã dou uma olhada. Boa noite. Então, Pode ser tb SST, mas depois desses valores sempre virá um valor númerico inteiro, para você entender melhor, irei colocar 4 códigos que irá entender melhor o padrão: ST10LM1 STQ9LM1 STQQ1LM1 S2LM2 Os códigos são a junção de opções, cadastradas em bd, sendo que no caso do código ST10LM1: ST = são os dias da semana ( S = seg e T= ter ) 9 = Quantidade em estoque LM = produto 1= modelo do produto Então quando um usuário faz uma alteração na quantidade do produto em estoque, o código precisa ser alterado, no exemplo o 9 precisa ser mudado para por exemplo 15. Espero ter sido mais claro. Abraços e valeu a atenção. Compartilhar este post Link para o post Compartilhar em outros sites
rockbilly 0 Denunciar post Postado Outubro 7, 2003 Olá colega, creio que da pra fazer criando um array do tipo string, mas me diz: é um sistema de cadastro de produtos em Banco de Dados? você terá sempre que alterar os produtos cadastrados. de mais detalhes do seu real problema.... Compartilhar este post Link para o post Compartilhar em outros sites
escabelo 0 Denunciar post Postado Outubro 7, 2003 Comunidade,Valeu pela ajuda, mas fiz uma função legal e que atente minhas necessidades em 100%, segue ela para todos verem.Abraços e valeu!<?$string_inicial = "s1i1f4";$busca = "1";$troca = "2";$posicao_primeira = strpos($string_inicial, $busca);$string_final = substr($string_inicial,0, $posicao_primeira) . $troca . substr($string_inicial,($posicao_primeira + strlen($busca)), strlen($string_inicial));echo $string_final;?> Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Outubro 7, 2003 Fiz alguma coisa aqui, resolveu... espero que te ajude. <?/*ST10LM1STQ9LM1STQQ1LM1S2LM2*/ $string = 'S2LM2'; //Valor que está em sua string $tamanho= strlen($string); //tamanho da string for($i=0;$i<$tamanho;$i++) //le cada caracter da string { if(substr($string,$i,2)=='LM') { //se é igual a LM cai fora do loop break; } $sub = substr($string,$i,1); if($sub<'10') //se a string é menor que 10, é numero { $numero.= $sub; } else { $str_inicio.=$sub; //senao faz parte da string inicial } } $str_final=substr($string,$i,2); //string final começa a partir de LM $i=$i+2; $str_final.=substr($string,$i,1); //termina a string pegando o número após LM echo "<br>Sua String Original: $string"; echo "<br>Inicio da String: $str_inicio"; echo "<br>Número ou Quantidade: $numero"; echo "<br>Final da String: $str_final"; $numero=$numero+10; //manipula a quantidade do estoque $str_new = $str_inicio.$numero.$str_final; //monta novamente a string echo "<br>Nova String: $str_new";?> :) Compartilhar este post Link para o post Compartilhar em outros sites
escabelo 0 Denunciar post Postado Outubro 7, 2003 Fiz alguma coisa aqui, resolveu... espero que te ajude. <?/*ST10LM1STQ9LM1STQQ1LM1S2LM2*/ $string = 'S2LM2'; //Valor que está em sua string $tamanho= strlen($string); //tamanho da string for($i=0;$i<$tamanho;$i++) //le cada caracter da string { if(substr($string,$i,2)=='LM') { //se é igual a LM cai fora do loop break; } $sub = substr($string,$i,1); if($sub<'10') //se a string é menor que 10, é numero { $numero.= $sub; } else { $str_inicio.=$sub; //senao faz parte da string inicial } } $str_final=substr($string,$i,2); //string final começa a partir de LM $i=$i+2; $str_final.=substr($string,$i,1); //termina a string pegando o número após LM echo "<br>Sua String Original: $string"; echo "<br>Inicio da String: $str_inicio"; echo "<br>Número ou Quantidade: $numero"; echo "<br>Final da String: $str_final"; $numero=$numero+10; //manipula a quantidade do estoque $str_new = $str_inicio.$numero.$str_final; //monta novamente a string echo "<br>Nova String: $str_new";?> ;) Muito boa sua função, Parabéns!!! Fiz alguns testes aqui e funcionou perfeitamente.Dê uma olhadinha na função que fiz tb, está em minha úçtima mensagem.Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Outubro 7, 2003 Pô eu não tinha visto que você já tinha resolvido...Se a sua funciona então está bem melhor que a minha, pois tem menos codigo.Mas valeu a tentativa. ;) Compartilhar este post Link para o post Compartilhar em outros sites