使用preg_match重定向到特定页面

时间:2011-05-05 17:34:15

标签: php mysql redirect

我有一个搜索框。 当用户输入单个字符时,如“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只需一行即可完成此操作,但我不知道如何实际操作。

非常感谢您的帮助

由于

2 个答案:

答案 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]未在此处以任何方式验证