PHP 通过文本文件搜索不区分大小写

PHP case insensitive search through text file

我有这个 .php 文件,它从 .txt 文件中搜索文本并将其与用户输入的内容进行比较。我不确定如何让它进行不区分大小写的搜索.txt 文件。

<?php
  $search = $_POST['search'];
  $text = file_get_contents('name_list.txt');
  $lines = explode("\n", $text);
  if(in_array($_POST['search'], $lines)){
      echo stristr($search, " is compatible!");
  } else {
      echo stristr($search, " is not compatible!");
  }
?>

这是链接到的 javascript:

$(function() {

        $(".search_button").click(function() {
            var searchString = $("#search_box").val();
            var data = 'search='+ searchString;

            if(searchString) {
                // ajax call
                $.ajax({
                    type: "POST",
                    url: "do_search.php",
                    data: data,
                    beforeSend: function(html) {
                        $("#results").html(''); 
                        $("#searchresults").show();
                        $(".word").html(searchString);
                   },
                   success: function(html){
                        $("#results").show();
                        $("#results").append(html);
                  }
                });    
            }
            return false;
        });
    });

任何help/comments赞赏。

我会比较未大写版本的搜索和文本文件:

<?php
$search = $_POST['search'];
$search_lower = strtolower($search); // make the search lowercase
$text = file_get_contents('name_list.txt');
$text = strtolower($text); // make the text lowercase
$lines = explode("\n", $text);

if(in_array($search_lower, $lines)){
    echo $search . " is compatible!";
} else {
    echo $search . " is not compatible!";
}

您可以尝试使用 preg_match

<?php
$search = $_POST['search'];
$text = file_get_contents('name_list.txt');

if(preg_match('#'.$search.'#i', $text)){
    echo $search . " is compatible!";
} else {
    echo $search . " is not compatible!";
}

表达式分隔符后的'i'标志表示不区分大小写的匹配。