2

我有这个搜索栏,当用户输入一个单词时,会在其中显示搜索的文件名。为了帮助更清楚地解释这一点,我将添加我当前正在处理的代码。

HTML

<form method="post" action="submit.php">
            <input name="search" type="text" value="">             
                <button type="submit" name="Submit">
                Submit</button>
                   </form>

提交.php

if (isset($_POST['search'])){
              header( 'Location: http://headerLocation/'.$_POST['search'].'.xml' ) ;}
              else {
                  echo "Warning, your request could not be completed";
              }

?>

这非常有效,除了它区分大小写并且如果有任何额外空间也会出现错误。例如,如果我搜索“hello”,而文件名是“Hello”或“hello”,则搜索不起作用。有谁知道如何让这对案例和空间几乎一无所知?谢谢你。

4

5 回答 5

5

您可以修剪 POST 数据并仅对文件使用小写字母,并将“搜索”转换为小写。

类似的东西:submit.php

if (isset($_POST['search'])){
              header( 'Location: http://headerLocation/'.strtolower(trim($_POST['search'])).'.xml' ) ;}
              else {
                  echo "Warning, your request could not be completed";
              }

?>
于 2013-06-08T23:25:23.120 回答
3

使用strtolower($_POST['search']) $_POST['search']会使文件名变为小写。

将其与此答案结合使用应该可以解决问题

于 2013-06-08T23:26:35.597 回答
2

为避免空格
,请在标头函数中使用此更改 $_POST['search'] to trim($_POST['search'])

于 2013-06-08T23:26:25.113 回答
1

当您搜索时,只需执行以下操作:

   trim(strtolower($searchTerm))
于 2013-06-08T23:28:33.900 回答
1

您可以使用

$search = strtolower($_POST['search']);
$searchtrim = trim($search);

if (isset($searchtrim)){
              header( 'Location: http://headerLocation/'.$searchtrim.'.xml' ) ;}
              else {
                  echo "Warning, your request could not be completed";
              }

?>
于 2013-06-08T23:31:26.100 回答