battye/php-array-parser

将PHP数组的文本表示形式解析为实际的PHP数组。

v1.0.10 2021-11-18 04:29 UTC

This package is not auto-updated.

Last update: 2024-09-19 18:17:01 UTC


README

一个用于解析PHP数组文本表示形式并返回实际PHP数组的轻量级库。

安装

运行 composer install 以独立方式运行此脚本(及测试)。或者,您可以通过运行 composer require battye/php-array-parser "~1.0" 将其用作另一个项目的依赖项。

在您的PHP文件顶部引用命名空间以使用包含的类

use battye\array_parser\parser;
use battye\array_parser\tokens;

如果您发现任何错误,请提出问题或拉取请求。

示例

在以下两个示例中,$result 将包含一个PHP数组,该数组包含提供的字符串或文本文件的表示形式。

原始字符串

解析简单数组非常容易

$value = "array(0 => array('one' => 1, 'two' => 'two'));";
$result = parser::parse_simple($value);

在这种情况下,$result 将生成以下内容

array(1) {
  [0] =>
  array(2) {
    'one' =>
    int(1)
    'two' =>
    string(3) "two"
  }
}

正则表达式

也可以使用正则表达式解析复杂文件并提取数组值

$regex = '/\$lang\s+=\s+array_merge\(\$lang, array\((.*?)\)\);/s';
$file = __DIR__ . '/files/test_lang.php';
$result = parser::parse_regex($regex, $file);

测试

Latest Stable Version Total Downloads GitHub Actions CI

单元测试提供了如何使用此库的好例子,可在 tests/ 目录中找到。要执行单元测试,请运行

vendor/bin/simple-phpunit tests/