Ver Mensaje Individual
  #2 (permalink)  
Antiguo 17/06/2008, 00:38
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 18 años, 6 meses
Puntos: 2534
Respuesta: Alguien tiene una funcion para eliminar catacteres de los titulos ?

yo uso esta función para normalizar los títulos y poder usarlos como URL limpias... en especial para ModRewrite

Código PHP:
/**
 * (cadena[, minusculas?[, ordinal]])
 *
 * Devuelve una cadena sin acentos, y normalizada.
 */
function normalize($text, $lower = true, $ord = 95)
{
    
$char = is_numeric($ord)? chr($ord): $ord[0];
    
$text = // ------------ Reemplazamos todo excepto
            
preg_replace('/[^a-zA-Z0-9\.,;:\/%_-]+/',
        
$char, unaccent($text));
    
    
$expr = preg_quote($char);
    
$text = // Cambiamos residuos dobles...
            
preg_replace("/[$expr]+/", $char, trim($text, $char));
    
    if (
$lower)
    { 
// cambiamos a minusculas
        
$text = strtolower($text);
    }
    return 
$text;
}

/**
 * (cadena)
 *
 * Elimina los acentos de la cadena, naturalmente.
 */
function unaccent($text)
{
    static 
$find, $repl;
    
    if (!
is_array($find))
    {
        
$find = $repl = array();
        
$html = // Obtenemos la tabla
            
get_html_translation_table(HTML_ENTITIES);
        
        foreach (
$html as $char => $ord) {
            if (
ord($char) >= 192) {
                
$find[] = utf8_encode($char); // xS
                
$repl[] = $ord[1];
            }
        }
    } 
// Hacemos los cambios de acentos...
    
$text = str_replace($find, $repl, $text);
    return 
$text;
} 
espero te sirva, suerte!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Última edición por pateketrueke; 17/06/2008 a las 18:45