Messages: 28

Enregistré le: 4 Aoû 2016

Message le Ven Nov 04, 2016 18:08

bonjour
mon code php :
<a href="voiture'.$row['id'].' '.$villed.' '.$villea.' ">
dans htaccess :
RewriteRule ^voiture([0-9]+)(.*)([_a-zA-Z0-9\-]+)$ voiture.php?var=$1?vd=$2?va=$3[L]

tout fonctionne bien , juste pour les villes avec accent donc comment supprimer les accents et remplacer dans htaccess
Haut
3 Réponses
Messages: 28

Enregistré le: 4 Aoû 2016

Message le Ven Nov 04, 2016 19:32

$villed = htmlentities($villed, ENT_NOQUOTES, 'utf-8');

$villed = preg_replace('#&([A-za-z])(?:uml|circ|tilde|acute|grave|cedil|ring);#', '\1', $villed);

$villed = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $villed);

$villed = preg_replace('#&[^;]+;#', '', $villed);

j'ai utilisée cette solution elle bien fonctionne just pour les mots comme (l'eau) cette accent
Haut
Messages: 3259

Enregistré le: 7 Sep 2003

Message le Sam Nov 05, 2016 3:21

Je ne sais pas si c'est une bonne pratique mais perso j'aurai tendance à préparer le lien dans une variable et ensuite d'utiliser
urlencode($variable)

Le mieux étant de supprimer de cette variable tous les caractères accentués pour ne pas être dérangé. Dans ce cas, pas la peine d'utiliser urlencode je pense

Les spécialistes du coding pourrons sans doute t'en dire plus
Haut
Messages: 8558

Enregistré le: 14 Mai 2003

Message le Sam Nov 05, 2016 13:18

La bonne pratique c'est de pas hardcoder les URLs et d'utiliser un router:
CakePHP:
Code: Tout sélectionner
<?= Router::url(['_name' => 'voitures_view', 'ville_a' => $villeA, 'ville_b' => $villeB]); ?>


Laravel/Blade:
Code: Tout sélectionner
{{ route('voitures_view', [ 'ville_a' => $villeA, 'ville_b' => $villeB]) }} 


Symfony/Twig:
Code: Tout sélectionner
{{ path('voitures_view', {'ville_a': ville_a, 'ville_b': ville_b}) }}


Django:
Code: Tout sélectionner
{% url 'voitures_detail' ville_a=ville_a ville_b=ville_b %}


[...]
Haut