Problème accent URL Rewriting et .htaccess

Nouveau WRInaute
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
 
Nouveau WRInaute
$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
 
WRInaute accro
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
 
WRInaute accro
La bonne pratique c'est de pas hardcoder les URLs et d'utiliser un router:
CakePHP:
PHP:
<span class="syntaxdefault"><?= Router</span><span class="syntaxkeyword">::</span><span class="syntaxdefault">url</span><span class="syntaxkeyword">([</span><span class="syntaxstring">'_name'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> </span><span class="syntaxstring">'voitures_view'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'ville_a'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $villeA</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'ville_b'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $villeB</span><span class="syntaxkeyword">]);</span><span class="syntaxdefault"> ?></span>

Laravel/Blade:
PHP:
<span class="syntaxdefault"></span><span class="syntaxkeyword">{{</span><span class="syntaxdefault"> route</span><span class="syntaxkeyword">(</span><span class="syntaxstring">'voitures_view'</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">[</span><span class="syntaxdefault"> </span><span class="syntaxstring">'ville_a'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $villeA</span><span class="syntaxkeyword">,</span><span class="syntaxdefault"> </span><span class="syntaxstring">'ville_b'</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=></span><span class="syntaxdefault"> $villeB</span><span class="syntaxkeyword">])</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">}}&nbsp;</span><span class="syntaxdefault"></span>

Symfony/Twig:
Code:
{{ path('voitures_view', {'ville_a': ville_a, 'ville_b': ville_b}) }}

Django:
Code:
{% url 'voitures_detail' ville_a=ville_a ville_b=ville_b %}

[...]
 
Discussions similaires
Haut