SEO Friendly links, js y / o php stripping

He visto esto hecho en wordpress y no tengo acceso a word press 馃檪

pero necesito devolver una cadena url eliminando los caracteres no v谩lidos y convirtiendo algunos caracteres en caracteres adecuados 馃檪

p.ej

1+ characters should be converted (of the following) [space] = [dash] (1 dash) >>> (-) [underscore] = [dash] (1 dash) >>> (-) $str = 'Hello WORLD this is a bad string'; $str = convert_str_to_url($str); //output//NOTE: caps have are lowercase :) //hello-world-bad-string 

y eliminar palabras comunes y sin sentido como “the”, “a”, “in” etccc

al menos ap煤ntame en la direcci贸n correcta si no tienes un c贸digo gd 馃檪

Lo que quieres es la cadena “slugged”. Aqu铆 hay una lista de enlaces relevantes:

Simplemente google PHP slug para m谩s ejemplos.

strtr se puede usar para esto:

 $replace = array( ' ' => '-', '_' => '-', 'the' => '', ... ); $string = strtr($string, $replace); 

Crear铆a una funci贸n con la funci贸n str_replace (). Por ejemplo:

 $str = 'Sentence with some words'; $str = strtolower($str); $searchNone = array('the', 'a', 'in'); $replaceNone = ''; $str = str_replace($searchNone, $replaceNone, $str); $search = array(chr(32)); //use ascii $replace = '-'; $str = str_replace($search, $replace, $str); echo $str; 

Utilice el siguiente sitio para los caracteres especiales: http://www.asciitable.com/ .

Tal vez algo as铆 como:

 function PrettyUri($theUri) { $aToBeReplace = array(' then ', ' the ', ' an ' , ' a ', ' is ', ' are ', ' ', '_'); $aReplacements = array(' ', ' ', ' ' , ' ', ' ', ' ', '-', '-'); return str_replace($aToBeReplace, $aReplacements, strtolower($theUri)); } echo PrettyUri('Hello WORLD this is a bad string');