首页 > 解决方案 > 将文本排除到有效数组

问题描述

我有一个文本,我想通过排除将其转换为数组,但我无法获得真正的数组

# SRC-ADDRESS DST-ADDRESS PACKETS BYTES SRC-USER DST-USER 0 10.40.47.48 216.58.205.211 12 822 2 1 10.40.47.48 102.132.97.21 66 9390 2 2 184.106.10.77 10.40.47.252 10 1819 1 3 10.40.47.252 104.27.155.225 1 41 1 4 10.40.47.252 144.76.103.6 5 878 1 5 102.132.97.35 10.40.47.252 11 1159 1 6 10.40.47.252 52.169.53.217 1 397 1 7 104.27.155.225 10.40.47.252 1 52 1 

我想要这样的结果

Array
(
    [0] => Array
        (
            [.id] => *0
            [src-address] => 10.40.47.50
            [dst-address] => 185.144.157.141
            [packets] => 6
            [bytes] => 1349
        )
    [1] => Array
        (
            [.id] => *1
            [src-address] => 195.122.177.151
            [dst-address] => 10.40.47.48
            [packets] => 4
            [bytes] => 174
            [dst-user] => 2
        )
....

我试试这个,但它是错误的 $arr = exclude(" ",$text);

编辑 :

我可以通过另一种方式获取文本

 0 src-address=108.177.15.188 dst-address=10.40.47.252 packets=1 bytes=52 dst-user="1" 1 src-address=10.40.47.48 dst-address=172.217.19.150 packets=11 bytes=789 src-user="2" 2 src-address=184.106.10.77 dst-address=10.40.47.252 packets=26 bytes=5450 dst-user="1"

标签: php

解决方案


str_getcsv尝试使用将分隔符替换为字符串的分隔符来读取字符串。

var_dump(str_getcsv($input, ","));

请注意手册指出分隔符必须是一个字符长。如果需要一个制表符或多个空格,您需要查看答案: str_getcsv on a tab-separated file

str-getcsv php 手册


推荐阅读