加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何在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"]);

之后你应该没事的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读