Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/stk2k/xstring
Basic string library
https://github.com/stk2k/xstring
Last synced: 4 days ago
JSON representation
Basic string library
- Host: GitHub
- URL: https://github.com/stk2k/xstring
- Owner: stk2k
- License: mit
- Created: 2021-06-26T01:49:06.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-07-09T03:49:23.000Z (over 3 years ago)
- Last Synced: 2024-11-08T20:14:20.486Z (about 2 months ago)
- Language: PHP
- Size: 75.2 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Basic string library
=======================[![Latest Version on Packagist](https://img.shields.io/packagist/v/stk2k/xstring.svg?style=flat-square)](https://packagist.org/packages/stk2k/xstring)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md)
[![Build Status](https://api.travis-ci.com/stk2k/xstring.svg?branch=main)](https://api.travis-ci.com/stk2k/xstring.svg?branch=main)
[![Coverage Status](https://coveralls.io/repos/github/stk2k/xstring/badge.svg?branch=main)](https://coveralls.io/repos/github/stk2k/xstring/badge.svg?branch=main)
[![Code Climate](https://codeclimate.com/github/stk2k/xstring/badges/gpa.svg)](https://codeclimate.com/github/stk2k/xstring)
[![Total Downloads](https://img.shields.io/packagist/dt/stk2k/xstring.svg?style=flat-square)](https://packagist.org/packages/stk2k/xstring)## Description
Basic string library
## Feature
- Supports ascii string and multibyte string
- Provide facade interface(xs)## Usage
### Facade interface(xs)
```php
use stk2k\xstring\xs;// Length
echo xs::length('Hello'); // 5
echo xs::length('你好'); // 2// Join
echo xs::join(',', [1,2,3]); // 1,2,3// Index of
echo xs::indexOf('Hello', 'e'); // 1// Contains
echo xs::contains('Hello', 'ell'); // true// Starts with
echo xs::startsWith('Hello', 'He'); // true// Ends with
echo xs::endsWith('Hello', 'lo'); // true// Substring
echo xs::substring('Hello', 1, 2); // el// Remove
echo xs::remove('Hello', 1, 2); // Hlo// Insert
echo xs::insert('Hello World!', 5, ','); // Hello, World!// To lower case
echo xs::toLower('Hello'); // hello// To upper case
echo xs::toUpper('Hello'); // HELLO// Trim left and right
echo xs::trim(' [Hello] '); // [Hello]// Trim left
echo xs::trimStart(' [Hello] ', ' ['); // Hello]// Trim right
echo xs::trimEnd(' [Hello] ', ' ]'); // [Hello// Replace
echo xs::replace('Hello, World!', 'o', 'e'); // Helle, Werld!// Replace by regular expression
echo xs::replaceRegEx('Hello, World!', '/o/', 'e'); // Helle, Werld!// method chain
echo xs::trim(' [Hello] ')->toLower()->remove(1,2); // [hlo]// format
// - see more samples: https://github.com/stk2k/xstring-format
echo xs::format('Hello, {0}!', 'David'); // Hello, David!// foreach
xs::each('Hello', function($c){
echo $c . '.'; // H.e.l.l.o.
});// match
echo xs::match('Hello, World!', '/lo/'); // ["lo"]
echo xs::match('Foo123, Bar456, Foo789', '/Foo([0-9]+)/'); // ['Foo123','123']
```### global function(s)
```php
use function stk2k\xstring\globals\s;echo s('Hello'); // Hello
echo s('Hello')->length(); // 5
echo s('Hello')->toLower(); // hello// foreach
foreach(s('Hello') as $c){
echo $c . '.'; // H.e.l.l.o.
}```
### xStringArray
```php
use stk2k\xstring\xStringArray;$sa = new xStringArray(['a', 'b', 'c']);
echo count($sa); // 3
foreach($sa as $i) echo $i; // abc
echo $sa->join(','); // a,b,c
echo $sa->get(1); // b
echo $sa[1]; // b
unset($sa[1]);
echo $sa; // {"0":"a","2":"c"}
$sa[1] = 'Foo';
echo $sa; // {"0":"a","2":"c","1":"Foo"}
```### xStringBuffer
```php
use stk2k\xstring\xStringBuffer;$b = new xStringBuffer('abc');
$c = new xStringBuffer('a,b,c');echo $b->length(); // 3
echo $c->length(); // 5
foreach($b as $i) echo $i; // abc
echo json_encode($c->split(',')); // ["a","b","c"]
echo json_encode($b->split()); // ["a","b","c"]
echo $b->append('d'); // abcd
```## Requirement
PHP 7.2 or later
## Installing stk2k/xstring
The recommended way to install stk2k/xstring is through
[Composer](http://getcomposer.org).```bash
composer require stk2k/xstring
```After installing, you need to require Composer's autoloader:
```php
require 'vendor/autoload.php';
```## License
This library is licensed under the MIT license.## Author
[stk2k](https://github.com/stk2k)
## Disclaimer
This software is no warranty.
We are not responsible for any results caused by the use of this software.
Please use the responsibility of the your self.