如何在PHP中用空格匹配文本文件中的两到三个单词
发布时间:2020-12-13 22:25:58 所属栏目:PHP教程 来源:网络整理
导读:我对 PHP有点新,但几乎创造了我所需要的一切,除了一件让我在这里的事情.我正在为朋友创建一个简单的(对于您可能但不适合我)网站,以便他们可以跟踪他们何时收到租金,输入新租户以及查看当前余额.我把一切都做得很完美……我想.检查天平时,我只测试了一个字输
我对
PHP有点新,但几乎创造了我所需要的一切,除了一件让我在这里的事情.我正在为朋友创建一个简单的(对于您可能但不适合我)网站,以便他们可以跟踪他们何时收到租金,输入新租户以及查看当前余额.我把一切都做得很完美……我想.检查天平时,我只测试了一个字输入来读取文本文件并输出正确的信息.但是,我发现如果第一个和最后一个名字存储在那之间的空格,我没有得到匹配.我需要代码来完整地读取输入的租户名称与之间的空格.我没有找到任何我能理解的东西,并且一直在寻找几个晚上.这是我搜索和检索结果的完整代码.
正在搜索的文本文件是这样的: John Doe,123 Main St,400.00,01/01/2016,Jane Doe,124 Main St,300.00,John Doe,01/03/2016,200.00 <?php $lines = file('data.txt'); //here's the filename ?> <center> <table id="historytable" width="640" border="1"> <caption>Billing & Payment History </caption> <tbody> <tr> <td width="40">Tenant</td> <td width="40">Address</td> <td width="40">Date</td> <td width="40">Rent</td> <td width="40">Payment</td> </tr> <?php $search = $_POST["name"]; //assigning a string to each piece of input data // Store true when the text is found $balance = 0; //assign initial value to balance $renttotal = 0; //assign initial value to renttotals $received = 0; //assign initial value to received $found = false; foreach ($lines as $line) { //this is the loop to read the txt file { if(strpos($line,$search) !== false) { $found = true; list($a,$b,$c,$d,$e) = explode(',',$line); //this assigns a variable name to each data item separated by a comma $renttotal+= $c; //each time it loops,it gathers the value of c adding it to itself same for the two lines below $received+= $e; $balance = $renttotal - $received; //subtracts the final value of renttotal and received assigning the difference to balance $line_array = explode(",",$line); //breaks each piece of data apart to be placed in a table } echo "<tr> <td width=40>$a</td> <td width=40>$b</td> <td width=40>$c</td> <td width=40>$d</td> <td width=40>$e</td> </tr>"; }}} ?> </tbody> </table> </center> <BR /> <BR /> <center> <p>TOTAL RENTS CHARGED $<?php echo "$renttotal"?><br /> TOTAL PAYMENTS RECEIVED $<?php echo "$received"?><br /> BALANCE DUE $<?php echo "$balance"?></p> 预先感谢您的任何帮助. 解决方法
只需像这样做一个urldecode():
$search = urldecode($_POST["name"]); 之后你应该没事的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |