0

多くの文字を含む文字列があり、そこからデータを取得する必要があります。まず第一に、';' で分解しました。これで、配列が作成され、各行の単語が引用符で囲まれました。

この単語を除くすべてを引用符で囲みます。preg_match でこれらの単語を取得する方が簡単なのはわかっていますが、どのように配列に入れるか、もう一度配列を調べて保存するには、preg_replace で直接消去したいと思います。

$array = explode(';', $string);

//36 => string 's:7:"trans_1"' (length=13)
//37 => string 's:3:"104"' (length=9)
//38 => string 's:5:"addup"' (length=11)
//39 => string 's:1:"0"' (length=7)

$array = preg_replace('!   !i', '', $array);

私は取得したい:

//36 => string 'trans_1' (length=6)
//37 => string '104' (length=3)
//38 => string 'addup' (length=5)
//39 => string '0' (length=1)

さまざまなことを試しましたが、引用符の外側の文字を取り除くことはできません。

4

2 に答える 2

2

あなたは試すことができます

preg_replace('!.*"([^"]*)".*!i', '\1', $array);

\1最初にキャプチャされたグループを指します!

于 2013-07-04T15:01:21.203 に答える