Что такое регулярное выражение для URL с параметрами? - PullRequest
1 голос
/ 29 августа 2009

если у меня есть <form action='./search' method='get'>
с <input type='text' name='keyword' value='this is the search term' /> внутри

после отправки формы, это приводит меня к /search?keyword=this%20is%20the%search%20term

какое регулярное выражение я должен использовать, чтобы перехватить эту форму URL и переписать ее в
/search-this_is_the_search_term

1 Ответ

1 голос
/ 29 августа 2009

Сначала urldecode строка поиска, а затем замените пробелы подчеркиванием. E.g.:

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

Вы можете сделать то же самое с регулярным выражением, используя preg_replace только более надежно, поскольку вам может потребоваться удалить несколько последовательных пробелов:

$str = "this%20is%20the%search%20term";
$decoded = urldecode($str);
$final = preg_replace("/\s+/", "_", $decoded);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...