dasilvaj4 1 Denunciar post Postado Abril 26, 2014 Olá para todos!Bom eu achei este código na internet e queria saber o que está de errado nele <?php function GenerateUrl ($s) { $from = explode (',', "ç,æ,œ,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u,(,),[,],'"); $to = explode (',', 'c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u,,,,,,'); $s = preg_replace ('~[^wd]+~', '-', str_replace ($from, $to, trim ($s))); return strtolower (preg_replace ('/^-/', '', preg_replace ('/-$/', '', $s))); } $url = array ('title'=>'Todos os Posts', 'id'=>100); echo '<a href="/blog/' . GenerateUrl ($url['title']) . '/' . $url['id'] . '">'; echo $url['title'] . '</a>' . PHP_EOL . '<br>'; Era para retornar /blog/todos-os-posts/100mas esta retornando /blog/d/100Alguém sabe qual é o problema?Desde já obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Alex Rohleder 7 Denunciar post Postado Abril 27, 2014 se for este teu caso de uso você pode simplesmente fazer isso: function generateUrl($url) { /** * Dentro do array você bota todos os caracteres que não deseja na url como espaços e underlines */ return strtolower(str_replace(array(' ', '_'), '-', $url)); } echo generateUrl('/blog/Todos os Posts/100'); Compartilhar este post Link para o post Compartilhar em outros sites
dasilvaj4 1 Denunciar post Postado Maio 3, 2014 se for este teu caso de uso você pode simplesmente fazer isso: function generateUrl($url) { /** * Dentro do array você bota todos os caracteres que não deseja na url como espaços e underlines */ return strtolower(str_replace(array(' ', '_'), '-', $url));}echo generateUrl('/blog/Todos os Posts/100'); Este script não vai remover os acentos, preciso disso :/ Alguém me ajuda? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Maio 4, 2014 <?php $title = "Meu título com o sem acento, graças a esta função abaixo."; function slug($text) { // replace non letter or digits by - $text = preg_replace('~[^\\pL\d]+~u', '-', $text); // trim $text = trim($text, '-'); // transliterate $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text); // lowercase $text = strtolower($text); // remove unwanted characters $text = preg_replace('~[^-\w]+~', '', $text); if (empty($text)) { return false; } return $text; } echo slug ($title) ; Saida: meu-titulo-com-o-sem-acento-gracas-a-esta-funcao-abaixo Compartilhar este post Link para o post Compartilhar em outros sites