hat ve virgül php ile ayrıştırma ürün

3 Cevap

i sayfasında bir textarea var. kullanıcı hatları ve virgül öğeleri yazacaktır.

örneğin,

data1, data1info
data2, data2info
data3, data3info

hat başına 2 madde vardır.

nasıl ben satıra onları ayrıştırmak ve tek tek satıra ürün almak.

thnx

3 Cevap

2 bölüme hattını kırmak için sonra tekrar, yeni satır karakteri çizgileri kırmak preg_split kullanın.

Örneğin:

$lines = preg_split( "[\r\n]", $_POST[ 'TextArea' ] );
foreach( $lines as $line )
{
    list( $data, $info ) = preg_split( ",\s+", $line, 2 );
    // Use $data and $info...
}

Sen explode to split the string by end of lines, first ; the,, explode those lines again, using ', 'bir ayırıcı olarak kullanabilirsiniz:

$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);
}

Ben de dizeleri başında / sonunda herhangi sola boşluk kaldırmak için trim Not kullanılır.

Ve alırsınız:

string 'data1' (length=5)
string 'data1info' (length=9)
string 'data2' (length=5)
string 'data2info' (length=9)
string 'data3' (length=5)
string 'data3info' (length=9)

virgülle bölmek için tekrar explode() ardından .. explode() yenisatırlar tarafından bölmek için kullanmak istiyorum. Eğer o muhtemelen herhangi çevreleyen boşluk kaldırmak için çıkan dizi (ler)) array_map (trim kullanmak istiyorum