acfbentveld/parser

此包已被弃用且不再维护。未建议替代包。

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

1.1.1 2018-10-02 11:51 UTC

This package is auto-updated.

Last update: 2021-06-22 12:13:46 UTC


README

Latest Version on Packagist Total Downloads Build Status StyleCI

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

安装

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