25 Août 2015 Programmation

Supprimer les apostrophes de Word en php

Il peut arriver que les apostrophes provenant de Microsoft Word (par un copier/ Coller dans votre CMS) dans votre base de données soit mal encodées.
Beaucoup vous dirons de régler le problème à la source, de demander à vos utilisateurs de ne pas copier-coller de texte depuis word mais ce n’est pas toujour facile à appliquer.
Une méthode simple (que je viens d’utiliser pour un projet) consiste à utiliser les fonctions php str_replace pour remplacer l’apostrophe mal encodé et chr pour retourner un caractère à partir de son code ASCII.

Voici donc la fonction php qui devrait nettoyer la chaîne de caractères.

 
function convert_quotes($string){
$search = array(chr(145),chr(146),chr(147),chr(148),chr(151));
$replace = array("'","'",'"','"','-');
return str_replace($search, $replace, $string);
}

 

Pour comprendre la fonction, vous pouvez consulter la page ASCII and binary characters

J’ai passé du temps pour contourner ce problème, j’espère que cela pourra vous aider, si vous avez d’autres solutions n’hésitez pas à les poster dans les commentaires


A lire aussi

Combien coûte un site internet ? - 01/03/2022

Toujours difficile d'apporter une réponse simple car le prix d'un site web varie en fonction de plusieurs critères, quelques éléments de réponse dans ce billet.

PrestaShop Day 2021 - 13/10/2021

Rendez-vous le 19 octobre pour le PrestaShop Day ! Au programme : des conférences d’experts autour des dernières tendances e-commerce et des nouvelles stratégies à adopter.

WordPress 5.4 intègre le lazy-loading et améliore son éditeur - 24/02/2020

La nouvelle version de WordPress, qui est actuellement en cours de test, est prévue pour le 31 mars 2020.