将表单输入更改为小写

时间:2012-04-07 21:21:25

标签: php forms input get lowercase

我正在使用代码表单,该表单根据表单的输入重定向用户。我从这里得到了它:

php - How do I redirect a user based on their form input?

表格:

<form action="index.php" method="get">
<input type="text" name="q" />
<input type="submit" />
</form>

的index.php

header("Location: http://example.com/browse/".$_GET['q']);

我遇到的问题是当用户使用CAPS LOCK键入时,它不会重定向它们。

有没有办法在用户提交后将输入更改为小写,然后才能正确地重定向。

2 个答案:

答案 0 :(得分:2)

您也可以对查询进行url编码,因为字符为“#”或“:”,它们对Web浏览器具有特殊的含义/功能。因此,如果用户使用了这些字符,这不会破坏您的导航。

参考:Php Doc - urlencode()

header("Location: http://example.com/browse/". urlencode($_GET['q']));

将此与Marc B的上述答案相结合,将导致:

header("Location: http://example.com/browse/". urlencode(strtolower($_GET['q'])));

要在下一页上解析原始的低级用户输入,只需使用 urldecode()

参考:Php Doc - urldecode()

// original lower-cased query
$original_query = urldecode($path);

答案 1 :(得分:1)

strtolower()

header("Location: http://example.com/browse/". strtolower($_GET['q']));