axp-dev/file-parser

PHP 文件解析库

2.4.0 2023-05-28 09:14 UTC

This package is auto-updated.

Last update: 2024-09-28 12:00:39 UTC


README

Latest Stable Version Latest Unstable Version License

PHP 文件解析库。支持格式列表:json, xml, 查询字符串,序列化,ini,csv。

内容

  1. 安装
  2. 用法
  3. 作者
  4. 许可证

安装

Composer

$ composer require axp-dev/file-parser

Laravel

app/config/app.php 中添加服务提供者

'providers' => [
    ...
    AXP\FileParser\FileParserServiceProvider::class
]

添加外观别名

'aliases' => [
    ...
    'FileParser' => AXP\FileParser\Facades\FileParser::class
]

Lumen

bootstrap/app.php 中添加服务提供者

$app->register('AXP\FileParser\FileParserServiceProvider');

添加外观别名

class_alias('AXP\FileParser\Facades\FileParser', 'FileParser');

用法

JSON

FileParser::json($string) : array

示例

$string = '{"id":1,"name":"A green door","price":12.5,"tags":["home","green"]}';
$data   = FileParser::json($string);

print_r($data);

XML

FileParser::xml($string) : array

示例

$string = '<?xml version="1.0" encoding="UTF-8" ?>
           <card>
                <id>1</id>
                <name>A green door</name>
                <price>12.5</price>
                <tags>home</tags>
                <tags>green</tags>
           </card>';
$data   = FileParser::xml($string);

print_r($data);

查询字符串

FileParser::queryString($string) : array

示例

$string = 'id=1&name=A+green+door&price=12.5&tags%5B0%5D=home&tags%5B1%5D=green';
$data   = FileParser::queryString($string);

print_r($data);

序列化

FileParser::serialize($string) : array

示例

$string = 'a:4:{s:2:"id";s:1:"1";s:4:"name";s:12:"A green door";s:5:"price";s:4:"12.5";s:4:"tags";a:2:{i:0;s:4:"home";i:1;s:5:"green";}}';
$data   = FileParser::serialize($string);

print_r($data);

INI

FileParser::ini($string) : array

示例

$string = '[card]
           id = 1
           name = "A green door"
           price = 12.5
           tags[] = home
           tags[] = green';
$data   = FileParser::ini($string);

print_r($data);

CSV

FileParser::csv($string, $delimiter = ';') : array

示例

$string = 'Title1;Title2;Title3
           one;two;three
           example1;example2;example3';
$data   = FileParser::csv($string);

print_r($data);

YAML

FileParser::yaml($string) : array

示例

$string = 'latitude: 52.7157856867271
           longitude: -8.8741735070805
           zoom: 15';
$data   = FileParser::yaml($file);

print_r($data);

作者

Alexander Pushkarev,邮箱:axp-dev@yandex.com

许可证

开源软件,遵循 MIT 许可证