可能存在的错误:

  1. 在循环中,$new_str 变量的定义应该放在循环外面,以避免每次循环都重新定义变量。

  2. 在 preg_match() 中,正则表达式应该是对 $value 变量进行匹配,而不是 $v['onebest'] 变量。

  3. 在 json() 函数中,应该使用 return 而不是 echo,以便在调用该函数时将结果返回给调用方。

正确的代码:

$json_arr = '[{"bg":"0","ed":"1090","onebest":"观的说,","speaker":"0"},{"bg":"1090","ed":"5080","onebest":"绝大部分老百姓不会天天盯牢,","speaker":"0"},{"bg":"5080","ed":"8790","onebest":"看这个GDP到底增加了多少,","speaker":"0"},{"bg":"8810","ed":"14410","onebest":"大家更在乎的更关心的一定是自己身边的具体事,","speaker":"0"},{"bg":"14600","ed":"16360","onebest":"像住房、","speaker":"0"},{"bg":"16680","ed":"19540","onebest":"就业、收入、","speaker":"0"},{"bg":"19720","ed":"21250","onebest":"教育、","speaker":"0"},{"bg":"21290","ed":"24540","onebest":"医疗、生态环境等等?","speaker":"0"},{"bg":"24540","ed":"30420","onebest":"政府工作就是要贴近老百姓的实际感受,","speaker":"0"},{"bg":"30420","ed":"32310","onebest":"去谋划去推进,","speaker":"0"},{"bg":"32310","ed":"38030","onebest":"要真正做到民有所盼,政有所为,","speaker":"0"},{"bg":"38680","ed":"39570","onebest":"抖音。","speaker":"0"}]';

$data = json_decode($json_arr,true);

$text = ''; $new_str = array(); foreach ($data as $v) { $text.= $v['onebest'];

$arr = preg_split("/[\s。?!]+/u", $text, -1, PREG_SPLIT_NO_EMPTY);

foreach ($arr as $key => $value) {
    if (preg_match('/[。]/u', $value)) {
        $new_str[$key] = $value . "。";
    } elseif (preg_match('/[?]/u', $value)) {
        $new_str[$key] = $value . "?";
    }
}

}

return json(200, 'ok', $new_str);

function json($code, $msg = "", $data = array()) { $result = array( 'code' => $code, 'msg' => $msg, 'data' => $data ); //输出json return json_encode($result); }

这个代码有没有错误?$json_arr = bg0ed1090onebest观的说speaker0bg1090ed5080onebest绝大部分老百姓不会天天盯牢speaker0bg5080ed8790onebest看这个GDP到底增加了多少speaker0bg8810ed14410onebest大家更在乎的更关心的一定是自己身边的具体事speaker0bg14600ed16360onebest像

原文地址: https://www.cveoy.top/t/topic/b8OR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录