singlequote/laravel-text-parser

一个用于将文本中的单词替换为数组中值的包。也支持别名和排除属性

2.0.0 2021-07-13 14:50 UTC

This package is auto-updated.

Last update: 2024-09-13 21:44:50 UTC


README

Latest Version on Packagist Total Downloads

一个用于将文本中的单词替换为数组中值的包。也支持别名和排除属性。

安装

您可以通过 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)。有关更多信息,请参阅 许可文件