smoren / string-formatter
字符串格式化辅助工具
v2.0.0
2023-06-15 19:24 UTC
Requires
- php: >=7.2.0
- smoren/extended-exceptions: ^1.0
- smoren/schemator: ^2.1
Requires (Dev)
- codeception/codeception: ^4.2.1
- codeception/module-asserts: ^2.0
- php-coveralls/php-coveralls: ^2.0
- phpstan/phpstan: ^1.8
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-09-15 22:17:07 UTC
README
动态数据的字符串格式化辅助工具
如何安装到您的项目中
composer require smoren/string-formatter
单元测试
composer install
./vendor/bin/codecept build
./vendor/bin/codecept run unit tests/unit
使用说明
基本使用
use Smoren\StringFormatter\StringFormatter; $input = 'Hello, {name}! Your position is {position}.'; $params = ['name' => 'Anna', 'position' => 'programmer']; $result = StringFormatter::format($input, $params); echo $result; // Hello, Anna! Your position is programmer.
嵌套参数的使用
use Smoren\StringFormatter\StringFormatter; $input = 'Hello, {name}! Your position is {job.position}.'; $params = ['name' => 'Anna', 'job' => ['position' => 'programmer', 'salary' => 2000]]; $result = StringFormatter::format($input, $params); echo $result; // Hello, Anna! Your position is programmer.
自定义正则表达式使用
use Smoren\StringFormatter\StringFormatter; $input = 'Hello, %name%! Your position is %position%.'; $params = ['name' => 'Anna', 'position' => 'programmer']; $result = StringFormatter::format($input, $params, false, '/%([a-z]+)%/'); echo $result; // Hello, Anna! Your position is programmer.
错误处理
use Smoren\StringFormatter\StringFormatter; use Smoren\StringFormatter\StringFormatterException; // Explicit mode $input = 'Hello, {name}! Your position is {position}.'; $params = ['name' => 'Anna']; try { StringFormatter::format($input, $params); } catch(StringFormatterException $e) { print_r($e->getData()); // ['position'] } // Silent mode $input = 'Hello, {name}! Your position is {position}.'; $params = ['name' => 'Anna']; $result = StringFormatter::format($input, $params, true); echo $result; // Hello, Anna! Your position is {position}. // Another variant of silent mode $input = 'Hello, {name}! Your position is {position}.'; $params = ['name' => 'Anna']; $result = StringFormatter::formatSilent($input, $params); echo $result; // Hello, Anna! Your position is {position}.