首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 將 textarea 換行字串拆分為陣列的正確做法

     編輯:PHP 相關知識

PHP 將 textarea 換行字串拆分為陣列的正確做法

表單提交的 textarea 值以 \r\n (CRLF) 作為換行分隔,直接使用 explode 需注意修剪空白與引號差異。

標準處理流程

<?php
$raw = $_POST['keywords'] ?? '';
$trimmed = trim($raw); // 移除首尾空白,避免產生空元素
$lines = explode("\r\n", $trimmed); // 必須使用雙引號 "\r\n"

// 進一步過濾空行
$lines = array_filter($lines, function($v) { return trim($v) !== ''; });

print_r($lines);
/* 輸出範例
Array
(
    [0] => 關鍵字1
    [1] => 關鍵字2
    [2] => 關鍵字3
)
*/

常見錯誤與解決

錯誤寫法問題正確寫法
explode('\r\n', $str)單引號不解析跳脫字元,會尋找字面字串 \r\nexplode("\r\n", $str)
未 trim()首尾換行會產生空元素先 trim() 再分割
僅用 \nWindows 來源資料為 \r\n,會殘留 \r用 "\r\n" 或 preg_split('/\r?\n/', $str) 相容跨平台

跨平台相容寫法(推薦)

$lines = preg_split('/\r?\n/', trim($raw)); // 同時支援 \n (Linux/Mac) 與 \r\n (Windows)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved