编写PHP以使用循环在文本文件中查找单词
编写PHP脚本在文本文件(标题为a.txt)中搜索单词。文本文件包含50个单词,每个单词在一行上。在JavaScript端,客户端在文本字段中键入一个随机单词并提交该单词。PHP脚本使用循环搜索50个单词,直到在a编写PHP以使用循环在文本文件中查找单词,php,Php,编写PHP脚本在文本文件(标题为a.txt)中搜索单词。文本文件包含50个单词,每个单词在一行上。在JavaScript端,客户端在文本字段中键入一个随机单词并提交该单词。PHP脚本使用循环搜索50个单词,直到在a.txt文件中找到该单词为止。如果找不到该单词,则必须显示一条错误消息,说明该单词不在列表中 JavaScript部分是正确的,但我在使用PHP时遇到了问题: $file = fopen("a.txt","r") or die("File does not exist in the c
.txt
文件中找到该单词为止。如果找不到该单词,则必须显示一条错误消息,说明该单词不在列表中
JavaScript部分是正确的,但我在使用PHP时遇到了问题:
$file = fopen("a.txt","r") or die("File does not exist in the current folder.");
$s = $_POST["lname"];
$x = file_get_contents("a.txt");
$a = trim($x);
if(strcmp($s, $a) == 0)
print("<h1>" . $_POST["lname"] . " is in the list</h1>");
else
print("<h1>" . $_POST["lname"] . " is not in the list</h1>");
fclose($file);
?>
$file=fopen(“a.txt”、“r”)或die(“当前文件夹中不存在文件”);
$s=$_POST[“lname”];
$x=文件获取内容(“a.txt”);
$a=修剪($x);
如果(strcmp($s,$a)==0)
打印(“$\u POST[“lname”]”在列表中);
其他的
打印(“$\u POST[“lname”]”不在列表中);
fclose($文件);
?>
如果它只有50个单词,那么就用它做一个数组,然后检查它是否在数组中
$file = file_get_contents('a.txt');
$split = explode("\n", $file);
if(in_array($_POST["lname"], $split))
{
echo "It's here!";
}
如果只有50个单词,那么就用它做一个数组,然后检查它是否在数组中
$file = file_get_contents('a.txt');
$split = explode("\n", $file);
if(in_array($_POST["lname"], $split))
{
echo "It's here!";
}
您没有在代码中搜索“单词”,但下面的代码可能会对您有所帮助
$array = explode("\n",$string_obtained_from_the_file);
foreach ($array as $value) {
if ($value== "WORD"){
//code to say it has ben founded
}
}
//code to say it hasn't been founded
您没有在代码中搜索“单词”,但下面的代码可能会对您有所帮助
$array = explode("\n",$string_obtained_from_the_file);
foreach ($array as $value) {
if ($value== "WORD"){
//code to say it has ben founded
}
}
//code to say it hasn't been founded
下面是一些奇特的正则表达式:) 如果不希望搜索不区分大小写,请从
'$/im'
中删除i
其中的m
告诉解析器将^$
与行结束符匹配,这样就可以了
下面是一个工作示例:这里有一个奇特的正则表达式:) 如果不希望搜索不区分大小写,请从
'$/im'
中删除i
其中的m
告诉解析器将^$
与行结束符匹配,这样就可以了
下面是一个工作示例:如果您只需要快速检查是否存在,实际上不需要将文件拆分为数组
$file = fopen("a.txt","r") or die("File does not exist in the current folder.");
$s = $_POST["lname"];
$x = file_get_contents("a.txt");
if(preg_match("/\b".$s."\b/", $x)){
echo "word exists";
} else {
echo "word does not exists";
}
这与字符串中的任何单词标记都匹配。如果只需要快速检查是否存在,实际上不需要将文件拆分为数组
$file = fopen("a.txt","r") or die("File does not exist in the current folder.");
$s = $_POST["lname"];
$x = file_get_contents("a.txt");
if(preg_match("/\b".$s."\b/", $x)){
echo "word exists";
} else {
echo "word does not exists";
}
这与字符串中的任何单词标记都匹配。您的描述和代码不匹配。我不理解您在代码中提出的问题。。你在哪里搜索这个词??例如,您必须读取文件,进行分解(“\n”,$string),然后使用循环在循环生成的数组中查找单词。以何种方式不起作用?您是否收到错误消息?您的描述和代码不匹配。我不理解代码中的问题。。你在哪里搜索这个词??例如,您必须读取文件,进行分解(“\n”,$string),然后使用循环在循环生成的数组中查找单词。以何种方式不起作用?您是否收到错误消息?您正在做什么或为什么要做什么的任何解释?这是执行作业的函数体。添加了签名。对您正在做什么或为什么要做的任何解释?这是执行此任务的函数体。添加了签名。那会有用的…但是我真的需要使用循环来遍历文本文件中包含的50个单词。每个单词都在一行上。你知道怎么做吗?那会有用的…但我真的需要使用循环来遍历文本文件中包含的50个单词。每个单词都在一行上。你知道怎么做吗?