加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则按照特定规则拆分聊天记录

发布时间:2020-12-14 00:38:15 所属栏目:百科 来源:网络整理
导读:将聊天记录拆成对应的每句话的role,time,message的格式 ?php$data = '[S][04:39:35] [#1][V][04:39:35] 不忈: Hello[V][04:39:35] 不忈: Hello[V][04:39:35] 不忈: Hello[V][04:40:11] 不忈: 你好[A][04:40:38] agent01: 嗯[S][04:40:54] [#8]给你[S][04:4

将聊天记录拆成对应的每句话的role,time,message的格式

<?php
$data = '[S][04:39:35] [#1][V][04:39:35] 不忈: Hello[V][04:39:35] 不忈: Hello[V][04:39:35] 不忈: Hello[V][04:40:11] 不忈: 你好[A][04:40:38] agent01: 嗯[S][04:40:54] [#8]给你[S][04:40:57] agent03 [#6][S][04:41:00] agent01 [#7][A][04:41:02] agent03: hade [V][04:41:06] 不忈: 一[A][04:41:10] agent03: en [S][04:41:20] [#8]-[S][04:41:22] agent01 [#6][S][04:41:24] agent03 [#7][A][04:41:27] agent01: 32423[V][04:41:29] 不忈: 。[S][04:41:31] [#2]agent01';
preg_match_all('/([S](.*?))(?=[[SVA]])|([S](.*?))$|([V](.*?))(?=[[SVA]])|([V](.*?))$|([A](.*?))(?=[[SVA]])|([A](.*?))$/',$data,$matches);
$data1 = $matches[0]; 
foreach($matches[0] as $k => $v){
	preg_match_all('/[w]|[d{2}:d{2}:d{2}]/',$v,$vMatch);
	$res[$k]['role'] = $vMatch[0][0];
	$res[$k]['time'] = $vMatch[0][1];
	$res[$k]['message'] = preg_filter('/[(S|A|V)]|[d{2}:d{2}:d{2}]/','',$v);
}
print_r($res);exit;

拆分出来后:

Array
(
    [0] => Array
        (
            [role] => [S]
            [time] => [04:39:35]
            [message] =>  [#1]
        )

    [1] => Array
        (
            [role] => [V]
            [time] => [04:39:35]
            [message] =>  不忈: Hello
        )

    [2] => Array
        (
            [role] => [V]
            [time] => [04:39:35]
            [message] =>  不忈: Hello
        )

    [3] => Array
        (
            [role] => [V]
            [time] => [04:39:35]
            [message] =>  不忈: Hello
        )

    [4] => Array
        (
            [role] => [V]
            [time] => [04:40:11]
            [message] =>  不忈: 你好
        )

    [5] => Array
        (
            [role] => [A]
            [time] => [04:40:38]
            [message] =>  agent01: 嗯
        )

    [6] => Array
        (
            [role] => [S]
            [time] => [04:40:54]
            [message] =>  [#8]给你
        )

    [7] => Array
        (
            [role] => [S]
            [time] => [04:40:57]
            [message] =>  agent03 [#6]
        )

    [8] => Array
        (
            [role] => [S]
            [time] => [04:41:00]
            [message] =>  agent01 [#7]
        )

    [9] => Array
        (
            [role] => [A]
            [time] => [04:41:02]
            [message] =>  agent03: hade 
        )

    [10] => Array
        (
            [role] => [V]
            [time] => [04:41:06]
            [message] =>  不忈: 一
        )

    [11] => Array
        (
            [role] => [A]
            [time] => [04:41:10]
            [message] =>  agent03: en 
        )

    [12] => Array
        (
            [role] => [S]
            [time] => [04:41:20]
            [message] =>  [#8]-
        )

    [13] => Array
        (
            [role] => [S]
            [time] => [04:41:22]
            [message] =>  agent01 [#6]
        )

    [14] => Array
        (
            [role] => [S]
            [time] => [04:41:24]
            [message] =>  agent03 [#7]
        )

    [15] => Array
        (
            [role] => [A]
            [time] => [04:41:27]
            [message] =>  agent01: 32423
        )

    [16] => Array
        (
            [role] => [V]
            [time] => [04:41:29]
            [message] =>  不忈: 。
        )

    [17] => Array
        (
            [role] => [S]
            [time] => [04:41:31]
            [message] =>  [#2]agent01
        )

)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读