用多个PHP变量分割HTML输入字段的方法,通过换行符实现的
P粉647449444
P粉647449444 2023-08-16 13:06:13
0
1
513
<p>所以,我正在为那些想要将Excel中的文本行复制/粘贴到文本框中的用户制作一个工具。 目标是让每一行成为一个单独的变量。如果可能的话,我希望能够计算行数并将它们转换为数组。</p> <pre class="brush:php;toolbar:false;"><form method="post" action="/TestThisOneOut2.php"> <label for="CompetitorPartNumber">竞争对手零件号码:</label><br> <textarea rows="4" id="CompetitorPartNumber" name="CompetitorPartNumber1" cols="50" name="comment"> Test</textarea><br> <input type='submit' value='立即下载' class="SubmitButton"></pre> <p>例如,用户可能会在文本框中输入以下内容:</p> <pre class="brush:php;toolbar:false;">X5044MLGSP4 7PM985DSA PO94ASDS</pre> <p>我无法知道他们想要输入1行、3行还是300行产品代码,但我想制作一个可以自动分割的文本框。目标是有一个文本区域文本框,用户可以在其中输入信息。</p> <p>在上面的例子中,我正在努力找到一种以编程方式识别有3行的方法,因此需要3个变量。我希望能够通过回车或其他方式来实现。</p> <p>然后对于上面的例子:我希望它们转化为一个数组,例如:</p> <pre class="brush:php;toolbar:false;">$CompetitorPartNumber[0] = $_POST['CompetitorPartNumber1']; $CompetitorPartNumber[1] = $_POST['CompetitorPartNumber2']; $CompetitorPartNumber[2] = $_POST['CompetitorPartNumber3'];</pre> <p>然后我可以使用这些数据进行数据库查询并返回数据。 谢谢你的帮助。</p> <p>我尝试了以下方法:</p> <pre class="brush:php;toolbar:false;"><form method="post" action="/TestThisOneOut2.php"> <label for="CompetitorPartNumber">竞争对手零件号码:</label><br> <textarea rows="4" id="CompetitorPartNumber" name="CompetitorPartNumber" cols="50" name="comment"> Test</textarea><br> <input type='submit' value='立即下载' class="SubmitButton"> </form></pre> <p>它将发布的数据发送到以下脚本:</p> <pre class="brush:php;toolbar:false;"><?php $CompetitorPartNumber = $_POST['CompetitorPartNumber']; echo "<h1>".$CompetitorPartNumber."</h1>"; ?></pre> <p>所以我遇到的问题是,当我输出结果时,它们以空白代替项目出现在不同行上。这是好的,除非用户真的意外输入了一个空格。 我想我可以通过计算空格来确定数组中的字段数量。然后通过空格字符分割变量。然而,用户可能在末尾输入空格,所以我认为这不是一个好的策略,因为我可能会得到空结果。我希望我能够询问一下是否有其他人知道如何解决这个问题的代码示例。</p>
P粉647449444
P粉647449444

全部回复(1)
P粉530519234

表单

<?php
$CompetitorPartNumbers = $_POST['CompetitorPartNumbers'] ?? 'Test';
    
?>
<form method="post" action="">
  <label for="CompetitorPartNumber">竞争对手零件编号:</label><br>
  <textarea rows="4" id="CompetitorPartNumber" name="CompetitorPartNumbers" cols="50" name="comment">
<?= $CompetitorPartNumbers ?></textarea><br>
  <input type='submit' value='立即下载' class="SubmitButton">

目标脚本

<?php
$CompetitorPartNumbers = $_POST['CompetitorPartNumbers'] ?? 'Test';
echo "<h1>纯文本输入</h1>";
echo "<pre>".$CompetitorPartNumbers."</pre>";
    
// 按换行符分割
$CompetitorPartNumbersEx = explode("\n", $CompetitorPartNumbers);
// 按回车换行符分割
$CompetitorPartNumbersEx = explode("\n\r", $CompetitorPartNumbers);
// 按当前平台的正确换行符分割
$CompetitorPartNumbersEx = explode(PHP_EOL, $CompetitorPartNumbers);
?>
<h1><code>explode()</code> 将值按行分割</h1>
<pre><?= print_r($CompetitorPartNumbersEx, true) ?></pre>
<h2>计算行数</h2>
<samp><?='count = '.count($CompetitorPartNumbersEx) ?></samp>

输出结果类似于:

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!