Fork me on GitHub

Rapport de message :*
 

Re: Module News + SEO

Titre du sujet : Re: Module News + SEO
par grandoc sur 24/05/2009 16:41:07

Bonjour

J'ai résolu le problème des caractères accentués, sauf pour l'apostrophe qui ne veut vraiment en faire qu'à sa tête
voici la solution que j'ai trouvée :
dans le fichier include/functions, vers la ligne 665, remplacer :
function elimina_acentos($cadena){ 
    
$simbolos = array('('')'':''%''?''¿''!''¡''/''"','$','=','@','&'); 
 
$nuevacadena str_replace($simbolos''$cadena);  
 
$tofind 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ :';
 
$replac 'aaaaaaaaaaaaooooooooooooeeeeeeeeccIIIIiiiiuuuuuuuuynn- '
 
//return(strtolower(strtr($nuevacadena,$tofind,$replac))); 
return(strtolower(str_replace('--','-',(str_replace('--','-',(str_replace($simbolos,''strtr($nuevacadena,$tofind,$replac)))))))).'.html';

}

par :

function elimina_acentos$string )
{
  
$string trim($string);
   
  if ( 
ctype_digit($string) )
  {
    return 
$string;
  }
  else
  {     
    
// replace accented chars
    
$simbolos = array(''','(', ')', ':', '%', '?', '¿', '!', '¡', '/', '"','$','=','@','&'); 
    
$string = str_replace($simbolos, '', $string);
    
$accents = '/&([A-Za-z]{1,2})(grave|acute|circ|cedil|uml|lig);/';
    
$string_encoded = htmlentities($string,ENT_QUOTES,'UTF-8');

    
$string = preg_replace($accents,'$1',$string_encoded);
     
    // clean out the rest
    
$replace = array('([40])','([^a-zA-Z0-9-])','(-{2,})'); 
    
$with = array('-','','-');
    
$string = preg_replace($replace,$with,$string);
  }

  return strtolower(
$string).'.html';
}

pour l'apostrophe, j'ai eu beau essayer de l'introduire sous toutes ses formes ( '\'', '& apos;', '& #39;') ça ne veut pas le faire...je donne ma langue au chat
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

41 Personne(s) en ligne (28 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 41 | Plus ...