亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 PHP 中的格式化純文本中提取數據

從 PHP 中的格式化純文本中提取數據

PHP
瀟湘沐 2022-07-09 09:45:46
我正在嘗試將一些基本的、格式化的純文本轉換為 PHP 數組,這樣我就可以進一步操作和顯示數據。下面是我正在使用的匿名數據集...|    |Customer                   |From |To   |Bkg |Cabin |Class |Seat |Accept    | |1   |Palmer Lee Mr              |JFK  |LAX  |    |P     |P     |3K   |          | |2   |Palmer Jamiee J Mrs        |JFK  |LAX  |Y   |P     |P     |3F   |Boarded   | |3   |Coleman David Mr           |JFK  |LAX  |    |P     |A     |2F   |Boarded   | |4   |Coleman Roberta Mrs        |JFK  |LAX  |Y   |P     |A     |2K   |          | |5   |Williams Marina Lady       |JFK  |LAX  |    |P     |F     |1K   |          | |6   |Graham Christine A Mrs     |JFK  |LAX  |    |P     |P     |4F   |          | |7   |Graham Dean A Mr           |JFK  |LAX  |    |P     |A     |4A   |          | |8   |Howell Fiona Ms            |JFK  |LAX  |    |P     |A     |5K   |          | |9   |Cobb Hamish Mr             |JFK  |LAX  |    |P     |A     |1A   |          | |10  |Brown Derek Mr             |JFK  |LAX  |    |P     |P     |2A   |Accepted  | |11  |Brown Elizabeth Mrs        |JFK  |LAX  |    |P     |P     |3A   |Accepted  | |12  |Reyes Ciaran Mrs           |JFK  |LAX  |    |P     |F     |5A   |Standby   | |13  |Reyes Joseph Mr            |JFK  |LAX  |    |P     |F     |5F   |Standby   |我曾嘗試使用substr();,preg_replace();但沒有運氣。有沒有人有這樣的數據處理經驗?希望得到一些幫助!
查看完整描述

2 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

<?php 

$text = "|    |Customer                   |From |To   |Bkg |Cabin |Class |Seat |Accept    | 

|1   |Palmer Lee Mr              |JFK  |LAX  |    |P     |P     |3K   |          | 

|2   |Palmer Jamiee J Mrs        |JFK  |LAX  |Y   |P     |P     |3F   |Boarded   | 

|3   |Coleman David Mr           |JFK  |LAX  |    |P     |A     |2F   |Boarded   | 

|4   |Coleman Roberta Mrs        |JFK  |LAX  |Y   |P     |A     |2K   |          | 

|5   |Williams Marina Lady       |JFK  |LAX  |    |P     |F     |1K   |          | 

|6   |Graham Christine A Mrs     |JFK  |LAX  |    |P     |P     |4F   |          | 

|7   |Graham Dean A Mr           |JFK  |LAX  |    |P     |A     |4A   |          | 

|8   |Howell Fiona Ms            |JFK  |LAX  |    |P     |A     |5K   |          | 

|9   |Cobb Hamish Mr             |JFK  |LAX  |    |P     |A     |1A   |          | 

|10  |Brown Derek Mr             |JFK  |LAX  |    |P     |P     |2A   |Accepted  | 

|11  |Brown Elizabeth Mrs        |JFK  |LAX  |    |P     |P     |3A   |Accepted  | 

|12  |Reyes Ciaran Mrs           |JFK  |LAX  |    |P     |F     |5A   |Standby   | 

|13  |Reyes Joseph Mr            |JFK  |LAX  |    |P     |F     |5F   |Standby   |";


    //gets each line in a array

    $pieces1 = explode("\n", $text);


    // now create a loop if u want with array length and get each line and explode it again 

    // OR just callto any line by $pieces1[number]

    $pieces2 = explode("|", $pieces1[3]);

    // Remove first and last blank elements

    $result = array_slice($pieces2, 1, -1);

?>


// print_r($result)

        Array

    (

        [0] => 3   

        [1] => Coleman David Mr           

        [2] => JFK  

        [3] => LAX  

        [4] =>     

        [5] => P     

        [6] => A     

        [7] => 2F   

        [8] => Boarded   

    )


查看完整回答
反對 回復 2022-07-09
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

您可以使用 fgetcsv 函數并設置 | 作為分隔符,例如:


?php

$row = 1;

if (($handle = fopen("test.csv", "r")) !== FALSE) {

    while (($data = fgetcsv($handle, 1000, "|")) !== FALSE) {

        $num = count($data);

        echo "<p> $num fields in line $row: <br /></p>\n";

        $row++;

        for ($c=0; $c < $num; $c++) {

            echo $data[$c] . "<br />\n";

        }

    }

    fclose($handle);

}

?>


查看完整回答
反對 回復 2022-07-09
  • 2 回答
  • 0 關注
  • 108 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號