Jump to content
landerbadi

Transformar uma frase em formato URL

Recommended Posts

Olá galera. Estou com uma dúvida aqui e vou tentar ser o mais objetivo possível.

 

Tenho uma váriável $texto com o valor Alguém viu minha maçã?

 

Citar

$texto = "Alguém viu minha maçã?";

 

Eu preciso transformar essa variável em um formato de URL. Ou seja, remover do texto os acentos, espaços, sinais de pontuação, etc. Ficando algo assim: alguem_viu_minha_maca (formato URL compatível com a barra de endereço do navegador).

 

Alguém sabe como fazer isso?

Share this post


Link to post
Share on other sites

Primeiramente decodificar um STRING em formato url usamos urlencode

 

Que no caso a string Alguém viu minha maçã? se transforma em um formato url aceitável sendo 

Algu%C3%A9m+viu+minha+ma%C3%A7%C3%A3%3F

<?php
$texto = urlencode('Alguém viu minha maçã?');
$textoB = urldecode($texto);
echo("Texto codificado em url:"
. "<p>{$texto}</p>"
. "<hr />"
. "<p>Texto decodificado da url</p>"
        . "{$textoB}");

 

Mas como você mesmo disse você precisa de um conversor de texto.

Eu criei um método em uma classe para justamente fazer o que você espera só não posto o código porque o forum estragaria dados de string da mesma, pois o método em questão remove tudo que não for caractere aceitável. Então você terá que fazer o download:

https://drive.google.com/file/d/1VHHiotb60BajGBdc9XoGsHONuXTu_Ylt/view?usp=sharing

<?php
require_once(__DIR__ . DIRECTORY_SEPARATOR . 'StrClean.php');
$clear = new StrClean();
$texto = $clear->formatStr('Alguém viu minha maçã?');
echo($texto);
// Resultado:
// Alguem-viu-minha-maca

 

Veja também:

echo(strtolower($texto));
// Resultado:
// alguem-viu-minha-maca

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Gildvan Arley
      Olá a todos
      estou criando uma área do usuário onde vai ser listados os kits do servidor de jogos que eu tenho em sua área.
      quando o kit acaba vai aparecer o botão de pagamento pra ele e nessa hora cada kit vai ter seu valor, estou com problema na parte de link do pagamento
      gostaria de saber qual o formato devo usar varchar ? no tipo la no BD e como posso pegar esse link la do banco de dados? 
      testei uns formas aqui e nada deu certo.
       
      cada kit tem seu valor, ai eu quero colocar o link de pagamento, pra quando o kit for removido aparecer o botão de pagamento pra ele, os botões já estão dando certo, só estou com problema pra pegar
      o link de cada kit. os valores de cada kit já estão criados no mercado pago
      <?php $data = date("Y/m/d"); $fimVip = $exibir_pag["fimvip"]; $dataPag = $exibir_pag["data"]; $mercadoP = $exibir_vip["mercadopago"];//A URL do mercado pago que esta no banco de dados if ($dataPag == NULL || strtotime($fimVip) < strtotime($data)){?> <table class="table"> <thead> <tr><span class="list-group-item text-left"><strong>Formas de pagamentos</strong></span></h5></tr> <tr> <th><a target="_blank" href="<?php echo $mercadoP;?>"><span class="label label-info">M. Pago</span></a></th> <th><a target="_blank" href="#"><span class="label label-success">PicPay</span></a></th> <th><a target="_blank" href="#"><span class="label label-info">Paypal</span></a></th> </tr> </thead> </table> <?php } else { echo ''; } ?> Imagem do painel
      do BD
       
    • By landerbadi
      Olá galera.
       
      Existe algum meio no php de passar uma variável pela URL sem informar o nome do arquivo .php?
       
      Por exemplo:
       
      No link http://localhost/index.php?id=123 existe alguma maneira de fazer isso sem informar o nome do arquivo index.php?
    • By goio
      Pessoal, estou com dificuldades com essa URL amigável, oque pretendo é o seguinte:
          No array $pages são as páginas permitidas, contato.php e teste.php
          Até ai tudo bem chama as páginas certas, se não existir os arquivos mostra a mensagem que a página não existe.
               http://localhost/contato
          Agora estou com dificuldades de fazer essa verificação pelo banco de dados, se baseando pelo slug da minha tabela
              http://localhost/produtos/tenis-azul
              Apenas exibe a mensagem de que a página não existe.
       
      Como poderia resolver esse problema? se precisar posto a class CRUD

          
      <?php class URL extends CRUD     {         private $selectTable;         private $listResult;         private function setURL()         {             $pages = array ( "fazer-pedido", "contato", "page-teste" );             $categorias = array ( "sapato", "tenis" );             if ( isset ( $_GET['url'] ) ) :                 $url = addslashes ( $_GET['url'] );                 $sepURL = explode ( "/", $url );             endif;             if ( isset( $sepURL[1] ) ) :                 $this->selectTable = $this->selectTable( "COUNT(slug) AS slug", "tabela", "LIMIT 1", array () );                 $count = $this->selectTable->rowCount();                 foreach ( $this->selectTable as $this->listResult ) :                                          if ( $sepURL[1] === $this->listResult['slug'] ) :                         require DIR_FILES."slug".EXT;                     else :                         echo "Essa página não existe, Verificação: ".$sepURL[1];                     endif;                 endforeach;             elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $pages ) ) :                 if ( file_exists ( DIR_FILES.$sepURL[0].EXT ) ) :                     require DIR_FILES.$sepURL[0].EXT;                 else :                     echo "Essa página não existe";                 endif;             elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $categorias ) ) :                 require DIR_FILES."categorias".EXT;             else :                 require DIR_FILES."home".EXT;             endif;         }         public function getURL()         {             return $this->setURL();         }     }  
    • By groudon900
      Peço ajuda de coração de vocês, eu to batendo bastante cabeça, eu fiz o site todo em URL amigavel, e fui implementar uma galeria que passa de pagina para pagina 2 e assim vai , só que como ela faz um URL com o ID, o site não aceita e não sei o que fazer
       
      código da pagina de galeria
      <?php if(isset($_SESSION['msg'])){ unset($_SESSION['msg']); } //Receber o número da página $pagina_atual = filter_input(INPUT_GET,'pagina', FILTER_SANITIZE_NUMBER_INT); $pagina = (!empty($pagina_atual)) ? $pagina_atual : 1; //Setar a quantidade de itens por pagina $qnt_result_pg = 50; //calcular o inicio visualização $inicio = ($qnt_result_pg * $pagina) - $qnt_result_pg; $result_usuarios = "SELECT * FROM galeria LIMIT $inicio, $qnt_result_pg"; $resultado_usuarios = mysqli_query($conn, $result_usuarios); while($row_usuario = mysqli_fetch_assoc($resultado_usuarios)){ ?> <img src ="fotos\<?php echo $row_usuario['foto'] ?>" class="foto2"> <?php } //Paginção - Somar a quantidade de usuários $result_pg = "SELECT COUNT(id) AS num_result FROM noticias"; $resultado_pg = mysqli_query($conn, $result_pg); $row_pg = mysqli_fetch_assoc($resultado_pg); //echo $row_pg['num_result']; //Quantidade de pagina $quantidade_pg = ceil($row_pg['num_result'] / $qnt_result_pg); //Limitar os link antes depois $max_links = 2; echo "<a href='index.php?pagina=1'>Primeira</a> "; for($pag_ant = $pagina - $max_links; $pag_ant <= $pagina - 1; $pag_ant++){ if($pag_ant >= 1){ echo "<a href='index.php?pagina=$pag_ant'>$pag_ant</a> "; } } echo "$pagina "; for($pag_dep = $pagina + 1; $pag_dep <= $pagina + $max_links; $pag_dep++){ if($pag_dep <= $quantidade_pg){ echo "<a href='index.php?pagina=$pag_dep'>$pag_dep</a> "; } } echo "<a href='index.php?pagina=$quantidade_pg'>Ultima</a>"; ?> Agora o código da URL amigável
       
      <?php $pro = 'proteção'; $pag = isset($_GET['pag']) ? $_GET['pag'] : 'home'; $e = explode('/',$pag); $pg = $e[0]; if(file_exists("pags/$pg.php")){ include"pags/$pg.php"; }else{ echo '<div class="alert alert-danger"> <strong>Página Inexistente!</strong> Desculpe, mas está página não existe. </div>'; echo '<div class="alert alert-danger"> <strong>Por Favor!</strong> Selecione uma opção a partir do menu, caso este erro Persista entre em contato com a administração. </div>'; } ?>  
       
      onde acho que está o problema
       
      echo "<a href='index.php?pagina=$quantidade_pg'>Ultima</a>";  
    • By reberthkss
      Bom dia!
       
      Eu to precisando implementar URL no meu projeto, mas tudo que eu achei na internet não ta dando certo... Alguem manja?
       
      To utilizando o wamp sserver aqui no meu pc
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.