2

私はこのような文字列を持っています

[{ "title":"","comment":"","size":"18.298","name":"logo.png",
"filename":"fu_mucqjrfifpadsw8","ext":"png" }]

filename.ext を取得したい。私には、これを次よりも簡単に実行できるように見えます(これは機能しますが、悪い習慣のようです-それともそうですか?)

現在それを抽出する方法:

$logo = explode(':',$string);
$ext = str_replace('"', "", $logo[6]);
$ext = str_replace(' }]', "", $ext);
$logo = explode(',',$logo[5]);
$logo=str_replace('"', "", $logo[0]);
4

2 に答える 2

6

JSONデータのようです。PHP を使用json_decodeして配列を取得し、配列にインデックスを付けることができます。

$string = '[{ "title":"","comment":"","size":"18.298","name":"logo.png","filename":"fu_mucqjrfifpadsw8","ext":"png" }]';
$data = json_decode($string, true);
// Access filename field
$data[0]['filename'];
于 2013-04-07T16:49:46.273 に答える
5

これは恐ろしい習慣です。データは JSON 形式であるため、使用json_decodeして PHP 変数に変換し、必要な情報に移動する必要があります。

たとえば、ファイル名 + 拡張子を取得するには:

$data = json_decode($string, true);
$filename = $data[0]['filename'];
$ext = $data[0]['ext'];

$allTogether = $filename.'.'.$ext;
于 2013-04-07T16:50:07.597 に答える