2009-08-29 11 views
1

si j'ai un <form action='./search' method='get'>
avec <input type='text' name='keyword' value='this is the search term' /> intérieur

après avoir soumis la forme, il me conduit à /search?keyword=this%20is%20the%search%20term

ce que regex dois-je utiliser pour capturer cette forme d'URL et réécrire à
/search-this_is_the_search_termquelle est la regex pour les URL avec des paramètres?

Répondre

1

Première urldecode la chaîne de recherche, puis remplacez les espaces par des traits de soulignement. .: par exemple

$str = "this%20is%20the%search%20term"; 
$decoded = urldecode($str); 
$final = str_replace(' ', '_', $decoded); 

Vous pouvez faire la même chose avec une expression régulière en utilisant preg_replace seulement plus fiable que vous devrez peut-être supprimer plusieurs espaces consécutifs:

$str = "this%20is%20the%search%20term"; 
$decoded = urldecode($str); 
$final = preg_replace("/\s+/", "_", $decoded); 
Questions connexes