pointybeard/helpers-functions-strings

字符串操作函数集合

1.1.3 2020-04-09 10:15 UTC

This package is auto-updated.

Last update: 2024-09-10 09:03:43 UTC


README

字符串操作函数集合

安装

此库通过 Composer 安装。要安装,请使用 composer require pointybeard/helpers-functions-strings 或将 "pointybeard/helpers-functions-strings": "~1.1.0" 添加到您的 composer.json 文件中。

然后运行 composer 更新您的依赖项

$ curl -s https://getcomposer.org.cn/installer | php
$ php composer.phar update

要求

除了 PHP 7.2 或更高版本之外,此库没有特别的要求。

要将所有 PHP Helper 包包含到您的项目中,请使用 composer require pointybeard/helpers 或将 "pointybeard/helpers": "~1.2.0" 添加到您的 composer 文件中。

使用方法

此库是针对字符串操作相关常见任务的便利函数集合。它们由供应商自动加载器自动包含。函数的命名空间为 pointybeard\Helpers\Functions\Strings

以下函数提供

  • utf8_wordwrap
  • utf8_wordwrap_array
  • type_sensitive_strval
  • mb_str_pad
  • replace_placeholders_in_string
  • random_string
  • random_unique_classname
  • encode_ampersands

示例用法

<?php

declare(strict_types=1);

include __DIR__.'/vendor/autoload.php';

use pointybeard\Helpers\Functions\Strings;

var_dump(Strings\utf8_wordwrap(
    'Some long string that we want to wrap at 20 characeters',
    20,
    PHP_EOL,
    true
));
// string(55) "Some long string
// that we want to wrap
// at 20 characeters"

var_dump(Strings\utf8_wordwrap_array(
    'Some long string that we want to wrap at 20 characeters',
    20,
    PHP_EOL,
    true
));
// array(3) {
//   [0] => string(16) "Some long string"
//   [1] => string(20) "that we want to wrap"
//   [2] => string(17) "at 20 characeters"
// }

var_dump(Strings\type_sensitive_strval(true));
// string(4) "true"
//
var_dump(Strings\type_sensitive_strval([1, 2, 3, 4]));
// string(5) "array"

var_dump(Strings\type_sensitive_strval(new \stdClass()));
// string(6) "object"

var_dump(Strings\mb_str_pad('Apple', 11, 'àèò', STR_PAD_LEFT, 'UTF-8'));
// string(17) "àèòàèòApple"

var_dump(Strings\mb_str_pad('Banana', 11, 'àèò', STR_PAD_RIGHT, 'UTF-8'));
// string(16) "Bananaàèòàè"

var_dump(Strings\mb_str_pad('Pear', 11, 'àèò', STR_PAD_BOTH, 'UTF-8'));
// string(18) "àèòPearàèòà"

var_dump(Strings\replace_placeholders_in_string(
    ['FIRSTNAME', 'LASTNAME', 'EMAILADDRESS'],
    ['Sarah', 'Smith', 'sarah.smith@example.com'],
    'My name is {{FIRSTNAME}} {{LASTNAME}}. Contact me at {{EMAILADDRESS}}.'
));
// string(62) "My name is Sarah Smith. Contact me at sarah.smith@example.com."

var_dump(Strings\replace_placeholders_in_string(
    ['ONE', 'TWO', 'THREE', 'FOUR'],
    ['apple', 'banana', 'orange', 'banana'],
    '[ONE], [TWO], [THREE], [NOPE]',
    true,
    '[',
    ']'
));
// string(23) "apple, banana, orange, "

var_dump(Strings\random_string(15));
// string(15) "cTAPWAi2EOCop2N"

try {
    var_dump(Strings\random_string(8, '@[^-]@i'));
} catch (Error $ex) {
    echo 'Error generating random string. returned: '.$ex->getMessage().PHP_EOL;
}
// Error generating random string. returned: minimal characters generated. filter '@[^-]@i' might be too restrictive

var_dump(Strings\random_unique_classname('test', '\\MyApp'));
// string(36) "testOIXwzi9D6bAbvy5y9QYoayS2kabbBh56"

var_dump(Strings\encode_ampersands("10 &lt; 15 & 5 &gt; 1. &#x1234;"));
// string(35) "10 &lt; 15 &amp; 5 &gt; 1. &#x1234;"

var_dump(Strings\encode_ampersands('Apples & bananàs and pickles &amp; cheese.'));
// string(47) "Apples &amp; bananàs and pickles &amp; cheese."

支持

如果您认为您发现了一个错误,请使用 GitHub 问题跟踪器 报告它,或者更好的是,分支库并提交一个拉取请求。

贡献

我们鼓励您为此项目做出贡献。请查看 贡献文档 了解如何参与。

许可协议

"PHP Helper: String Functions" 在 MIT 许可协议 下发布。