我有一个搜索框。 当用户输入单个字符时,如“A”或“B”或“C”。 我没有在我的数据库上运行查询,而是将它们重定向到适当的页面 一到z目录
因此,例如,如果用户搜索“H”,他们就会访问www.domain.com/a_to_z/h /
要实现这一点,我有
if($_GET[search] == "a") echo header("location:/a_to_z/a/");
if($_GET[search] == "b") echo header("location:/a_to_z/b/");
if($_GET[search] == "c") echo header("location:/a_to_z/c/");
这样可行,但你可以看到效率不高。
我知道使用prge_match只需一行即可完成此操作,但我不知道如何实际操作。
非常感谢您的帮助
由于
答案 0 :(得分:3)
正则表达式[a-z]
只匹配从小写字母a到小写字母z的单个字符。要包含大写和数字,请改用[a-zA-Z0-9]
。这可能是你在寻找的东西:
if (preg_match('~^[a-z]$~', $_GET['search'])) {
// redirect
} else {
// handle errors
}
This is a good site for the various regular expression basics.
答案 1 :(得分:1)
header("location:/a_to_z/".$_GET[search]."/");
请记住$ _GET [search]未在此处以任何方式验证