Ir para conteúdo

POWERED BY:

Arquivado

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

Felipe Chiarotti

Função de Slug

Recommended Posts

Olá pessoal tenho a seguinte função:

Eu gostaria de uma forma facil para alterar, para que os ( ), não transformasse em -

Gostaria que ele simplesmente não retornasse nada. Pensei em várias formas, mas ficariam muito grandes e complicadas.

Pois se eu colocar por exemplo: Jogo tal (DLC)

Ele vai ficar jogo-tal--dlc-

 

function slug($string,$plataforma,$texto){
$a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜüÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ"!@#$%&*()_-+={[}]/?;:.,\\\'<>';
$b = 'aaaaaaaceeeeiiiidnoooooouuuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr                              ';
$string = utf8_decode($string);
$string = strtr($string, utf8_decode($a), $B);
$string = strip_tags(trim($string));
$string = str_replace(" ","-",$string);
return strtolower(utf8_encode($string)).$plataforma.$texto;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

basta fazer o que você mesmo disse: "simplesmente não retornasse nada", ou seja, trocar ( ou ) por nada.

$string = str_replace(array('(', ')'), '', $string);
Veja:

 

<?php
function slug($string,$plataforma,$texto){
  $string = str_replace(array('(', ')'), '', $string);
  $a = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜüÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ"!@#$%&*()_-+={[}]/?;:.,\\\'<>';
  $b = 'aaaaaaaceeeeiiiidnoooooouuuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr                              ';
  $string = utf8_decode($string);
  $string = strtr($string, utf8_decode($a), $B);
  $string = strip_tags(trim($string));
  $string = str_replace(" ","-",$string);
  return strtolower(utf8_encode($string)).$plataforma.$texto;
}


echo slug('Jogo tal (DLC)', '', '');
Saída:

jogo-tal-dlc

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho uma aqui legal xD

function url($str, $replace=array(), $delimiter='-') {
    if( !empty($replace) ) {
        $str = str_replace((array)$replace, ' ', $str);
    }
	
    $clean = iconv('UTF-8', 'ASCII//TRANSLIT', $str);
	$clean = strtr($clean, utf8_decode('ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖÙÚÛÜÝßàáâãäåæçèéêëìíîïðñòóôõöùúûüýÿ'), 'aaaaaaaeceeeeiiiidnooooouuuuyssaaaaaaaeceeeeiiiidnooooouuuuyy');
    $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
    $clean = strtolower(trim($clean, '-'));
    $clean = preg_replace("/[\/_|+ -]+/", $delimiter, $clean);
 
    return $clean;
}

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.