acfbentveld / parser
此包已被弃用且不再维护。未建议替代包。
一个将文本中的单词替换为数组中值的包。还支持别名和排除属性。
1.1.1
2018-10-02 11:51 UTC
Requires
- php: ^7.1
Requires (Dev)
- phpunit/phpunit: ^7.0
README
一个将文本中的单词替换为数组中值的包。还支持别名和排除属性。
安装
您可以通过 composer 安装此包
composer require acfbentveld/Parser
基本用法
Parser::text('Hello [who]')->values(['who' => 'world'])->parse(); // Hello world Parser::text('Hello {who}')->values(['who' => 'world'])->tags(['{', '}'])->parse(); // Hello world Parser::text('Hello [who]')->values(['who' => 'world'])->exclude(['who'])->parse(); // Hello [who] Parser::text('Hello [what]')->values(['who' => 'world'])->aliases(['what' => 'who'])->parse(); // Hello world
使用数组作为值
$values = [ 'user' => [ 'name' => [ 'first_name' => 'Foo', 'last_name' => 'Bar' ], 'email' => 'example@example.com' ] ]; $input = "[user.name.first_name][user.name.last_name] - [user.email]"; $result = Parser::text($input)->values($values)->parse();
将生成 FooBar - example@example.com
可用方法
所有方法都可以像 text()->values()->aliases()
一样链接在一起,并且可以以任何顺序。但您必须始终从 text()
函数开始。
text
这设置您要解析的字符串
$parser = Parser::text('string')
values
这设置解析时使用的值。必须是数组
$parser->values([]);
tags
标签是您要解析的键周围的字符。默认为 [
和 ]
$parser->tags(['{','}']);
exclude
设置解析时排除的键
$parser->exclude(['key', 'key2']);
aliases
设置别名。别名可以用来将一个值映射到不同的名称。例如,您可以设置别名 ['name' => 'username']
将 username
映射到 name
$parser->exclude(['alias', 'value key']);
parse
解析文本并返回解析后的字符串
$parser->exclude(['alias', 'value key']);
测试
composer test
变更日志
请参阅 CHANGELOG 了解最近更改的详细信息。
贡献
请参阅 CONTRIBUTING 了解详细信息。
安全
如果您发现任何安全相关的问题,请通过电子邮件 info@acfbentveld.nl 而不是使用问题跟踪器。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可文件获取更多信息。