網頁

2013年8月29日

[php] 取得雙引號內字串(Excel儲存格換行符號處理)

當Excel儲存格內有換行符號時,若將內容複製貼上到網頁textarea輸入框時,Excel會將儲存格有換行符號的資料,使用雙引號括起來,如此要處理匯入動作時,就有些麻煩,在此提供去除儲存格換行符號的函數。

函數範例:
function ReplaceWrap(& $str)
{
    if (strpos($str, "\"")!== false){
        $s = substr($str, strpos($str, "\"")+1);
        $e = substr($s, 0, strpos($s, "\""));
        $done = str_replace("\n", " ", $e);
        $str = str_replace("\"".$e."\"", $done, $str);
        ReplaceWrap($str);
    }
}
使用範例:
$str = "王大明 \"1.上課都遲到
           2.常常忘記帶便當\"
           陳大郎 模範生";
ReplaceWrap($str);
$str = explode("\n", $str);
print_r($str); 
輸出結果:
Array (     [0] => 王大明 1.上課都遲到 2.常常忘記帶便當     [1] => 陳大郎 模範生 )