Ir para conteúdo
Fórum Script Brasil
  • 0

Usando str_replace na base da tentativa e erro


Frank K Hosaka

Pergunta

Ontem, eu estava consertando a tabela de produtos. Tinha muito item com essa descrição "produto pt10", eu mudei para "produto 10 pc".

A sintaxe do PHP para fazer essa tarefa é:

$novo=str_replace("pt10","10 pc",$descricao);

O problema é que esse código não funciona se a descrição tiver "Pt10", "pT10","PT10", assim eu fiz uma sequência de casos, imaginando que uma delas iria funcionar:

$novo=str_replace("pt10","10 pc",$descricao);
$novo=str_replace("pT10","10 pc",$descricao);
$novo=str_replace("Pt10","10 pc",$descricao);
$novo=str_replace("PT10","10 pc",$descricao);

Na prática, isso não deu certo. Tudo indica que um comando str_replace anula o trabalho de um str_replace anterior. Assim, usei o velho método da tentativa e erro, assim:

<?php
namespace App\Http\Controllers;
use App\Models\tbprod;
use Illuminate\Http\Request;

class CorrigirController extends Controller
{
    public function inicio(Request $request){
        if($request->input('consertar')){
            $descricao=$request->input('consertar');
            $novo=str_replace("pt10","10 pc",$descricao);
            if($novo==$descricao){
                $novo=str_replace("Pt10","10 pc",$descricao);}
            if($novo==$descricao){
                $novo=str_replace("pT10","10 pc",$descricao);}
            if($novo==$descricao){
                $novo=str_replace("PT10","10 pc",$descricao);}
            $codprod=$request->input('codprod');
            tbprod::where('codprod',$codprod)->update(['prod'=>$novo]);
        }
        $itens=tbprod::where('prod','like','%pt10%')->get();
        return view('corrigir',compact('itens'));}
}

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...