singlequote / laravel-text-parser
一个用于将文本中的单词替换为数组中值的包。也支持别名和排除属性
2.0.0
2021-07-13 14:50 UTC
Requires
- php: ^8.0
This package is auto-updated.
Last update: 2024-09-13 21:44:50 UTC
README
一个用于将文本中的单词替换为数组中值的包。也支持别名和排除属性。
安装
您可以通过 composer 安装此包
composer require singlequote/laravel-text-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@quotec.nl 而不是使用问题跟踪器来报告。
鸣谢
许可
MIT 许可证 (MIT)。有关更多信息,请参阅 许可文件