Je n'arrive pas à supprimer les accents d'un chaîne...

  • Auteur de la discussion Auteur de la discussion djkori
  • Date de début Date de début
Nouveau WRInaute
Bonjour, voilà, je souhaite que les titres des news, des sujets des forums, des divers articles de mon site qui son stockés dans ma BDD se retrouvent dans l'url mais évidemment dénués d'accents... et j'ai de véritables problèmes... je n'y arrive pas... :?
Ça marche avec une variable définie du type:
Code:
<?php
$var='Salut, c'est un élément du coin';
?>
J'ai une fonction comme celle-ci:
Code:
<?php
function supprimeraccents($chaine)
{
$trouver = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$remplacerpar = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
return(strtr($chaine,$trouver,$remplacerpar));
}
?>
et quand on fait $sans_accents=supprimeraccents($var), ça enlève effectivement les accents...
Le problème se pose quand on a une variable du type $_POST['titre'], y a rien à faire les accents ne sont pas changés...
 
Nouveau WRInaute
Ça marche avec $_POST[] mais pas avec htmlenties($_POST[])..

Bonjour, Leonick, oui, effectivement, ça marche avec $_POST mais il me faut bien protéger mes données et donc quand il y a un htmlentiies, ça ne marche plus... je comprends pas trop... :? 8O
 
WRInaute accro
En faisant ça
Code:
$sans_accents=supprimeraccents(html_entity_decode($_POST['titre']))
le html_entity_decode permettant de remettre les "vrais" caractères accentués
 
WRInaute discret
l'htmlentities tu le fais avant ou après l'appel à ta fonction ? Je crois bien que si tu le fais avant, ca convertit les caractères speciaux (ils sont plus sous la forme ÀÁÂÃÄÅà... donc).
 
Nouveau WRInaute
Ça marche !! mais y a pas de problème de faille de sécurité?

Merci Leonick, je me casse la tête dessus depuis au moins 4 heures... :(
mais ça ne provoque pas de faille de sécurité??
Et aussi une question, si mon titre est par ex : "C'est un bel endroit", ça me donne C\'est un bel endroit" y a une solution pour que cet antislash \ ??
 
WRInaute accro
Re: Ça marche !! mais y a pas de problème de faille de sécur

djkori a dit:
Merci Leonick, je me casse la tête dessus depuis au moins 4 heures... :(
mais ça ne provoque pas de faille de sécurité??
Non, ça n'est une faille que pour l'affichage, si dans le champ il y avait des <script et autres joyeusetés - par contre, il faut ensuite supprimer tous les caractères qui ne sont pas dans 0-9 et a-z ainsi que le -
djkori a dit:
Et aussi une question, si mon titre est par ex : "C'est un bel endroit", ça me donne C\'est un bel endroit" y a une solution pour que cet antislash \ ??
un stripslashes devait le faire
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut