php如何分割内容后输出为json

511
@Ta 2023-01-06 12335点击
标题-内容-介绍
标题-内容-介绍
标题-内容-介绍


比如上面这3行用回车隔开的,我想用回车隔开把他遍历出来,截取他的标题+内容+介绍然后再用json输出。
回复列表(8|隐藏机器人聊天)
  • @Ta / 2023-01-06 / /
    用正则
  • 511
    @Ta / 2023-01-06 / /
    @川南吴彦祖,截取都搞定了,就是不知道怎么变成json列表输出
  • @Ta / 2023-01-06 / /

    @511

    
    echo json_encode([
        'aaa' => $aaa,
        'bbb' => $bbb,
    ], JSON_UNESCAPED_UNICODE);
  • @Ta / 2023-01-06 / /

    expload(“\n
    expload(“-
    两层foreach

  • 511
    @Ta / 2023-01-06 / /
    @老虎会游泳
    $get_contents_explode=explode("{分隔符}",$get_contents);
    
    foreach($get_contents_explode as $value) { 
    
        preg_match_all('([\w\W]*?)',$value,$host);
        $size=trim($host[1][0]);
    
    }
    
    $obj->date=$arr;
    ​echo json_encode($obj,JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
    ​
  • 511
    @Ta / 2023-01-06 / /
    @老虎会游泳,虎兄,你看我这个怎么把size转成json的date输出(size这个正则我没写规则,你就当做有的哈)
  • hik
    @Ta / 2023-01-06 / /

    我来最笨的方法吧

    <?php
    $string = "标题-内容-介绍
    标题-内容-介绍
    标题-内容-介绍";
    
    // 将字符串按行分割为数组
    $lines = explode("\n", $string);
    
    // 创建空数组,用于保存转换后的数据
    $data = array();
    
    // 遍历每一行
    foreach($lines as $line) {
        // 将每一行按照 "-" 分割为数组
        $parts = explode("-", $line);
        // 将分割后的数组添加到 $data 中
        $data[] = array(
            "title" => $parts[0],
            "content" => $parts[1],
            "descript" => $parts[2]
        );
    }
    
    // 将数据转换为 JSON 格式
    $json = json_encode($data, JSON_UNESCAPED_UNICODE);
    
    // 输出结果
    echo $json;
    
    
  • 511
    @Ta / 2023-01-07 / /
    @hik,感谢老哥,这个很OK
添加新回复
回复需要登录