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)。请参阅 许可文件 以获取更多信息。