battye / php-array-parser
将PHP数组的文本表示形式解析为实际的PHP数组。
v1.0.10
2021-11-18 04:29 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- symfony/phpunit-bridge: ^4.1
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);
测试
单元测试提供了如何使用此库的好例子,可在 tests/
目录中找到。要执行单元测试,请运行
vendor/bin/simple-phpunit tests/