Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中将文本文件中的两到三个单词与空格匹配_Php_Forms_Flat File - Fatal编程技术网

如何在PHP中将文本文件中的两到三个单词与空格匹配

如何在PHP中将文本文件中的两到三个单词与空格匹配,php,forms,flat-file,Php,Forms,Flat File,我对PHP有点陌生,但我已经创建了几乎所有我需要的东西,除了一件让我来到这里的东西。我正在为一个朋友创建一个简单的(可能是为你,但不是为我)网站,这样他们可以跟踪何时收到租金付款,输入新租户,并检查当前余额。我觉得一切都很完美。在检查余额时,我只使用一个单词输入来读取文本文件并输出正确的信息。但是,我发现如果名字和姓氏之间有一个空格,我就不会得到匹配。我需要的代码读取输入的租户名称在其之间的空格完整。我没有找到任何我能真正理解的东西,我已经找了好几个晚上了。这是我搜索和检索结果的完整代码 正在搜

我对PHP有点陌生,但我已经创建了几乎所有我需要的东西,除了一件让我来到这里的东西。我正在为一个朋友创建一个简单的(可能是为你,但不是为我)网站,这样他们可以跟踪何时收到租金付款,输入新租户,并检查当前余额。我觉得一切都很完美。在检查余额时,我只使用一个单词输入来读取文本文件并输出正确的信息。但是,我发现如果名字和姓氏之间有一个空格,我就不会得到匹配。我需要的代码读取输入的租户名称在其之间的空格完整。我没有找到任何我能真正理解的东西,我已经找了好几个晚上了。这是我搜索和检索结果的完整代码

正在搜索的文本文件如下所示:

John Doe,美因街123号,400.00,01/01/2016,
Jane Doe,缅因街124号,300.00,01/01/2016,
约翰·多伊,主大街123号,2016200.00年3月1日

只需像这样执行
urldecode()

$search = urldecode($_POST["name"]);

事后你应该会没事的。

老实说,我似乎不明白你的问题。哪些字符串需要比较?此外,不要给变量命名
a
b
等等,而是尽量给它们起一些更容易理解的名字,比如
$name
$address
$amount
,等等。因此,您可能也会在三个月内理解您的代码。感谢您的回复。这些变量只是为了在我完美地调整编码之前让一切正常工作。就比较而言-用户提交的表单中,租户的全名转到$search=$\u POST[“name”];名称将在data.txt文件中搜索该名称(现在为$search)。如果完全匹配,则应在表中返回全名、地址、租金、日期和付款。我希望我的解释是正确的。我想我这里可能有点问题-if(strpos($line,$search)!==false)。再次感谢。只有当“Jane”是$search的输入时,编码才会正确匹配,但如果它是“Jane Doe”,则不会匹配。您的字符串可能是URL编码的,即空格被替换为
+
-您能提供这两个变量的示例吗?即,
echo$search
echo$行并在您的问题中提供这些?您是对的。这是$search Jane+Doe的结果,$行是测试的最后一个条目,显然,它只有一个单词名-noone,107 Warehouse St,400.00,02/01/2016200.00