首頁  >  問答  >  主體

用多個PHP變數分割HTML輸入欄位的方法,透過換行符號實現的

<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粉647449444P粉647449444450 天前589

全部回覆(1)我來回復

  • P粉530519234

    P粉5305192342023-08-17 10:59:14

    表單

    <?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>
    

    輸出結果類似:

    #

    回覆
    0
  • 取消回覆