greg0/string-builder

受 C# StringBuilder 启发的简单 PHP 字符串构建器

0.1 2018-09-20 19:10 UTC

This package is auto-updated.

Last update: 2024-09-21 20:43:44 UTC


README

Build Status Current Version PHP Version

受 C# StringBuilder 启发的简单 PHP 字符串构建器

安装

composer require greg0/string-builder

示例用法

创建字符串

$sb = new StringBuilder('Initial string');
$sb->append(' appended string');
$sb->appendLine();
$sb->appendLine('Other paragraph');
$sb->appendFormat('%s: %d', 'Value', 23);
$sb->appendLine();
$sb->append('End of poem.');

echo $sb->toString(); // echo (string)$sb;

结果

Initial string appended string
Other paragraph
Value: 23
End of poem.

提供了一些字符串操作方法

在指定位置插入字符串

$sb = new StringBuilder('---[]---');
$sb->insert(4, 'o.o');

echo $sb->toString(); // ---[o.o]---
$sb = new StringBuilder('---[]---');
$sb->insert(4, 'o', 2);

echo $sb->toString(); // ---[oo]---

移除指定的字符范围

$sb = new StringBuilder('Lorem ipsum dolor sit amet.');
$sb->remove(6, 5); // remove "ipsum"
echo $sb->toString(); // Lorem  dolor sit amet.

将指定的字符串替换为另一个指定的字符串的所有出现

$sb = new StringBuilder('Lorem ipsum dolor sit amet.');
$sb->replace('ipsum', 'lirum');
echo $sb->toString(); // Lorem lirum dolor sit amet.

清除字符串

$sb = new StringBuilder('Lorem ipsum dolor sit amet.');
$sb->clear();
echo $sb->toString(); // will return empty string

更多示例请参阅单元测试。

待办事项

  • 编码支持
  • 更多测试用例
  • 高级 "格式化" 方法(见 StringBuilder.AppendFormat
  • 许多不同的接口实现(例如,流)