[PHP] Remplacer le caractère pourcentage
Résolu/Fermé
rilazzi
Messages postés
5
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
8 septembre 2011
-
Modifié par rilazzi le 8/09/2011 à 11:40
khouss Messages postés 1 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 4 février 2013 - 4 févr. 2013 à 14:11
khouss Messages postés 1 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 4 février 2013 - 4 févr. 2013 à 14:11
A voir également:
- [PHP] Remplacer le caractère pourcentage
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Remplacer disque dur par ssd - Guide
- Remplacer word - Guide
6 réponses
rilazzi
Messages postés
5
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
8 septembre 2011
1
Modifié par rilazzi le 5/09/2011 à 16:51
Modifié par rilazzi le 5/09/2011 à 16:51
Cette une fonction que j'ai prise sur internet mais elle marche très bien pour les accents et certains caractères spéciaux :
<?php function wd_remove_accents($str, $charset='utf-8') { $str = htmlentities($str, ENT_NOQUOTES, $charset); $str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); $str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'oe' $str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères return $str; } ?>
rilazzi
Messages postés
5
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
8 septembre 2011
1
Modifié par rilazzi le 7/09/2011 à 15:37
Modifié par rilazzi le 7/09/2011 à 15:37
D'abord merci de ton aide. Mais j'ai essayé cette nouvelle fonction et je n'ai pas encore réussi à modifier le signe %. Je pense qu'il ça n'a pas fonctionner car lorsque je transfert les informations en mode GET j'ai toujours mon problème, il y a le pourcentage qui casse toutes les informations. Car un espace est représenté par "%20".
Ne me demande pas pourquoi je fais un $_GET, je suis obligé car lorsque je valide mon formulaire je récupère les données en mode $_POST sur un autre fichier php et ensuite je dois les envoyer dans un format spécial vers un autre fichier php qui est sur un autre serveur.
Si tu as une idée pour m'aider je prends avec plaisir. Et encore merci !
Ne me demande pas pourquoi je fais un $_GET, je suis obligé car lorsque je valide mon formulaire je récupère les données en mode $_POST sur un autre fichier php et ensuite je dois les envoyer dans un format spécial vers un autre fichier php qui est sur un autre serveur.
Si tu as une idée pour m'aider je prends avec plaisir. Et encore merci !
rilazzi
Messages postés
5
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
8 septembre 2011
1
8 sept. 2011 à 09:36
8 sept. 2011 à 09:36
up
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rilazzi
Messages postés
5
Date d'inscription
lundi 5 septembre 2011
Statut
Membre
Dernière intervention
8 septembre 2011
1
8 sept. 2011 à 15:03
8 sept. 2011 à 15:03
Résolu !
Finalement la fonction était :
function wd_remove_accents($str, $charset='utf-8') {
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
$str = preg_replace('#%#', '0/0', $str); // Remplace le % codé en HTML par %
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
return $str;
}
Donc ce qui veut dire que le pourcentage n'était pas interprété en HTML.
Merci quand même et j'espère que cela pourra en aider un ou deux.
Finalement la fonction était :
function wd_remove_accents($str, $charset='utf-8') {
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
$str = preg_replace('#%#', '0/0', $str); // Remplace le % codé en HTML par %
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
return $str;
}
Donc ce qui veut dire que le pourcentage n'était pas interprété en HTML.
Merci quand même et j'espère que cela pourra en aider un ou deux.
khouss
Messages postés
1
Date d'inscription
lundi 4 février 2013
Statut
Membre
Dernière intervention
4 février 2013
4 févr. 2013 à 14:11
4 févr. 2013 à 14:11
je vous sincèrement de cette opportunité que vous m'offrer
5 sept. 2011 à 17:21
Donc il faut faire un str_replace sur ce code HTML si bien sûr il n'y a que le signe % à remplacer dans la chaîne et non pas d'autres signes spéciaux car alors il serait mieux d'utiliser un preg_replace :