Twine 是一个由 Chris Kankiewicz 为字符串开发的独立的 PHP 7 扩展包,它使用一套富有表现力的流体语法来操作和比较字符串。

下面是一些基本使用和转换方法的示例:

use PHLAK\Twine;

$string = new Twine\Str('john pinkerton');

$string->substring(5, 4); // Returns 'pink'

$string->pad(20, '_'); // Returns 'john pinkerton______'

$string->pad(20, '_', Twine\Config\Pad::LEFT); // Returns '______john pinkerton'

$string->pad(20, '_', Twine\Config\Pad::BOTH); // Returns '___john pinkerton___'

// 别名

$string->padLeft(20, '_');

$string->padRight(20, '_');

$string->padBoth(20, '_');

转换为大写为你提供了一些不同的选项, 比如将整个字符串转换、只转换第一个字母以及每个单词的第一个字母:

$string = new Twine\Str('john pinkerton');

// 转换为大写

$string->uppercase(); // Returns 'JOHN PINKERTON'

$string->uppercase(Twine\Config\Uppercase::FIRST); // Returns 'John pinkerton'

$string->uppercase(Twine\Config\Uppercase::WORDS); // Returns 'John Pinkerton'

//只转换第一个字母或转换每个单词首字母这两个方法的别名

$string->uppercaseFirst();

$string->uppercaseWords();

Twine 提供了多种方法来一不同的方式来验证字符串的差异:

$string = new Twine\Str('john pinkerton');

$string->startsWith('pink'); // false

$string->endsWith('ton'); // true

$string->contains('pin'); // true

$string->equals('JoHN PiNKeRToN', Twine\Config\Equals::CASE_INSENSITIVE); // Returns true

// 别名

$string->insensitiveMatch('JoHN PiNKeRToN'); // true

你可以使用  base64() 方法对字符串进行编码并且可以生成各种哈希散列:

$string = new Twine\Str('john pinkerton');

$string->base64(); // 返回'am9obiBwaW5rZXJ0b24='

$string->md5(); // 返回 '30cac4703a16a2201ec5cafbd600d803'

$string->sha1(); // 返回 'fcaf28c7705ba8f267472bb5aa8ad883f6bf0427'

$string->sha256(); // 返回 '7434f26c8c2fc83e57347feb2dfb235c2f47b149b54b80692beca9d565159dfd'

format() 方式看起来很简洁,它允许你使用相同的格式化文本创建多个字符串:

$string = new Twine\Str('Hello %s! Welcome to %s, population %b.');

$string->format('John', 'Pinkertown', 1337);

// Returns 'Hello John! Welcome to Pinkertown, population 10100111001.'

这个库的另一个很酷的技巧是链接方式,甚至在链接之后可以进行断言:

$string = new Twine\Str('john pinkerton');

$string->substring(5, 4)->equals('pink'); // 返回 true

了解更多

这个库中有很多字符串方法,鼓励您查看GitHub repo 在自述文件中找到完整的 API. 你可以通过 phlak/twine的 composer 安装它.

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

php padright,[扩展推荐] PHP 字符串操作类 Twine相关推荐

  1. FME进阶视频教程:第1节 FME常用转换器之字符串操作类1

    教程简介 本教程精选工作中使用频率较高的转换器.数据格式读写.其他能提高FME使用水平的技巧及功能进行细致的讲解,而且在教程讲解过程中使用的数据及模板都可以配套下载,通过边看视频教程边对照练习,让大家 ...

  2. .NET字符串操作类StringHelper (C#版)

    using System;    using System.Collections.Generic;    using System.Linq;    using System.Text;    us ...

  3. asp.net很有用的字符串操作类

    using System; using System.Collections.Generic; using System.Text; using System.Collections; using S ...

  4. 一个非常好的C#字符串操作处理类StringHelper.cs

    1 /// <summary> 2 /// 类说明:Assistant 3 /// 编 码 人:苏飞 4 /// 联系方式:361983679 5 /// 更新网站:http://www. ...

  5. C# 字符串操作学习总结

    C#中字符串操作总结 http://blog.csdn.net/beyondqd/article/details/6999030 在实际的开发过程中,对字符串的操作是经常遇到的,其中涉及到字符串拼接. ...

  6. java字符串操作_Java的字符串操作

    Java的字符串操作 小型送分题:Java有字符串(String),StringBuffer(字符串缓存),StringBuilder(字符串建造者?)各种实现,究其原因还是历史上的各种坑. 一.不同 ...

  7. C#通用类库整理--字符串处理类

    在程序开发中通常需要将字符串转为自己想要的结果,以下三个类库主要实现: 1.GetStrArray(string str, char speater, bool toLower)  把字符串按照分隔符 ...

  8. 推荐一个不到2MB的C#开发工具箱,集成了上千个常用操作类

    今天给大家推荐一个C#开发工具箱,涵盖了所有常用操作类,体积小.功能强大. 项目简介 C# 开发工具箱.大都是静态类,加密解密,反射操作,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压 ...

  9. C# 指定格式的字符串截成一维数组(二维数组)的操作类

    指定格式的字符串截成一维数组(二维数组)的操作类 做项目时经常会遇到将"1,3,a,b,d"截成一维数组或将"1,a;2,b;3,c;4,d"截成二维数组.虽然 ...

最新文章

  1. [LeetCode]: 169: Majority Element
  2. 绝对是最实用 PostMan测试进阶操作 token校验 参数传递 存为环境变量 避免重复copy
  3. java富文本如何转义_富文本编辑器wangEditor中转义字符的问题
  4. 盲盒拓客小程序商家联盟红包分销裂变抽奖小程序源码
  5. 第三章 熟悉常用的HDFS操作
  6. mysql explain desc_MySQL中EXPLAIN命令详解
  7. Vivado debug异常现象
  8. 从 1 加到 55 的值
  9. Codeforces Round #412 (rated, Div. 2, base on VK Cup 2017 Round 3) A Is it rated?
  10. git branch看不到分支_这份Git 日常操作清单,你都用到了吗
  11. ubuntu dock栏添加应用启动图标
  12. django book学习笔记
  13. 我是如何出版一本书的?(2)
  14. vue加载vue-amap 报错解决办法
  15. 【Java】自建IOS应用(IPA)发布服务器
  16. 小米air2se耳机只有一边有声音怎么办_2020高颜值游戏低延迟蓝牙耳机,高音质听声辨位非这五款蓝牙耳机莫属...
  17. python快速开发app_python 使用Airtest超快速开发App爬虫
  18. 3、文件、函数练习题
  19. kubesphere安装Maven+JDK17 流水线打包
  20. 大庆计算机教师招聘考试题型,2020年大庆市教师招聘考试信息技术真题试卷及答案...

热门文章

  1. 7款外观迷人的HTML5/CSS3 3D特效按钮特效
  2. maven项目下tomcat直接启动不了(LifecycleException)。报错如下截图
  3. .NET资源文件实现多语言切换
  4. How to Export Mailboxes with Exchange Server 2010 SP1(带状态查看,清除请求,归档备份)...
  5. 中国女足在2022女足亚洲杯决赛中击败韩国队,时隔16年再夺亚洲杯冠军。
  6. 中国航发9名劳模工匠变身“高级制造工程师”
  7. 人脸识别躲不过一张3D面具,安全风险到底有多大?
  8. 纯真IP地址数据库qqwry.dat解析
  9. python函数图像加标签_tkinter(py3)更改图像标签,函数内部,实时
  10. ajax返回显示下拉列表,ajax中网页传输(二)JSON——下拉列表显示练习(示例代码)...