2009-08-29 33 views
1

如果我提交表單後有<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具有參數的url的正則表達式是什麼?

回答

1

首先urldecode搜索字符串,然後用下劃線替換空格。例如: -

$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);