我在頁面上有一個textarea。用戶將按行和逗號鍵入項目。按行和逗號分析項目php
例如,
data1, data1info
data2, data2info
data3, data3info
有每行2項。
我該如何解析它們每行,並獲得單獨的項目每行。
日Thnx
我在頁面上有一個textarea。用戶將按行和逗號鍵入項目。按行和逗號分析項目php
例如,
data1, data1info
data2, data2info
data3, data3info
有每行2項。
我該如何解析它們每行,並獲得單獨的項目每行。
日Thnx
$x='data1, data1info
data2, data2info
data3, data3info';
foreach(explode("\n",$x) as $line){
$item=explode(",",$line);
//echo $item[0].$item[1];
}
使用使preg_split上破換行字符的線條,然後再次打破行成2個部分。
例如:
$lines = preg_split("[\r\n]", $_POST[ 'TextArea' ]);
foreach($lines as $line)
{
list($data, $info) = preg_split(",\s+", $line, 2);
// Use $data and $info...
}
可以使用explode
由線的端部到分割字符串,第一;該,,再次爆炸的那些行,用「,
」作爲分隔符:
$str = <<<STR
data1, data1info
data2, data2info
data3, data3info
STR;
$lines = explode(PHP_EOL, $str);
foreach ($lines as $line) {
list ($first, $second) = explode(',', $line);
$first = trim($first);
$second = trim($second);
var_dump($first, $second);
}
注意我也用trim
在字符串的開始/結束刪除任何左右空間。
,你會得到:
string 'data1' (length=5)
string 'data1info' (length=9)
string 'data2' (length=5)
string 'data2info' (length=9)
string 'data3' (length=5)
string 'data3info' (length=9)
thx它似乎很好,但如果用戶沒有輸入$ info或逗號(他只輸入$ data) ,$ info是空的嗎? – 2009-12-08 06:45:13