-1

この行AT101A (1st Yr.-1st Sem) BSAT-12-01 を次のように分割します。

array1 = AT101A
array2 = (1st Yr.-1st Sem)
array3 = BSAT

これは私のコードです:

$file = $_FILES['file']['tmp_name'];
$handle = fopen($file,"r");

while(($fileop = fgetcsv($handle,1000,",")) !==false)
{
    $coursecode = $fileop[1];
    $units = $fileop[2];
    $day = $fileop[4];
    $timein = $fileop[5];
    $timeout = $fileop[7];
    $room = $fileop[8];
    $section = $fileop[0];

    if($section != "SECTION") {
        $section.split(" " , " ");              
        echo $section;
    } else {

    } 
4

1 に答える 1

0

あなたのコードはあなたの問題とはまったく関係がないようです。.PHP にはない表記法も使用しています。

ただし、正規表現を使用できる場合、次のコードは行を分割します。

$input = "AT101A (1st Yr.-1st Sem) BSAT-12-01";
$match_count = preg_match_all( "/^(.+?)(\(.+?\))(.+)$/", $input, $matches );

print_r($matches);

結果:

Array
(
    [0] => Array
        (
            [0] => AT101A (1st Yr.-1st Sem) BSAT-12-01
        )

    [1] => Array
        (
            [0] => AT101A 
        )

    [2] => Array
        (
            [0] => (1st Yr.-1st Sem)
        )

    [3] => Array
        (
            [0] =>  BSAT-12-01
        )

)    

後処理:

$array1 = $matches[1][0];
$array2 = $matches[2][0];
$array3 = $matches[3][0];

編集:

質問が「コンピューター」クラスからのものである場合、正規表現は適合しません。質問のトピックは、ループ/ポインター/条件/連結/などを適度に使用して、「特定の区切り文字で文字列を分割する」かもしれません。問題の解決に役立つ爆発()関数をご覧ください。

于 2013-10-04T16:10:39.933 に答える