53545


お世話になります。  
PHPで

[code]

    echo json_encode($data, JSON_PRETTY_PRINT);
    
[/code]

のようにすると、インデントで整形された形でJSONを出力することができます。  
それで、この際のインデント文字をタブ文字に変更したいのですが、何か方法はありますでしょうか。  
何か良い方法をご存知でしたら、教えていただけると幸いです。

以上、よろしくお願いいたします。


CC BY-SA 4.0
2019-03-18T07:07:29.740
53518
2019-03-19T06:56:48.097
29034
question
php
PHPのJSON_PRETTY_PRINTについて


[本家SOに似たような質問](https://stackoverflow.com/questions/29837570/)がありました。  
こちらは空白4つを2つにしたいということでしたが、  
タブ文字に置換するのも対して変わりません。

[code]

    $data = ['some' => 'data'];
    $json = preg_replace_callback ('/^ +/m', function ($m) {
      return str_repeat ("¥t", strlen ($m[0]) / 4);//空白数(4つ)で割った数分タブ文字を返却
    }, json_encode ($data, JSON_PRETTY_PRINT));
    
[/code]

`JSON_PRETTY_PRINT`自体には整形文字の指定は無かったと思います。


CC BY-SA 4.0
2019-03-19T06:56:48.097
53545
2019-03-19T06:56:48.097
7676
53518
answer