Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

Twine: String Manipulation, Leveled Up

$
0
0

Twine is a stand-alone php 7 package by Chris Kankiewicz for string manipulation and comparison with an expressive fluid syntax.

Here’s the basic usage and some examples of transformation methods:

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___' // Aliases $string->padLeft(20, '_'); $string->padRight(20, '_'); $string->padBoth(20, '_');

Converting to uppercase provides you with some different options, such as the whole string, the first character, and the first character of every word:

$string = new Twine\Str('john pinkerton'); // Uppercase $string->uppercase(); // Returns 'JOHN PINKERTON' $string->uppercase(Twine\Config\Uppercase::FIRST); // Returns 'John pinkerton' $string->uppercase(Twine\Config\Uppercase::WORDS); // Returns 'John Pinkerton' // Aliases for first and words $string->uppercaseFirst(); $string->uppercaseWords();

Twine provides various comparison methods to verify a string in a variety of ways:

$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 // Alias $string->insensitiveMatch('JoHN PiNKeRToN'); // true

You can encode a string instance with the base64() method and also generate various hashes:

$string = new Twine\Str('john pinkerton'); $string->base64(); // Returns 'am9obiBwaW5rZXJ0b24=' $string->md5(); // Returns '30cac4703a16a2201ec5cafbd600d803' $string->sha1(); // Returns 'fcaf28c7705ba8f267472bb5aa8ad883f6bf0427' $string->sha256(); // Returns '7434f26c8c2fc83e57347feb2dfb235c2f47b149b54b80692beca9d565159dfd'

The format() method is really neat looking, and allows you to create multiple strings from the same formatted text:

$string = new Twine\Str('Hello %s! Welcome to %s, population %b.'); $string->format('John', 'Pinkertown', 1337); // Returns 'Hello John! Welcome to Pinkertown, population 10100111001.'

Another cool trick with this library is chaining methods and even doing assertions after chaining:

$string = new Twine\Str('john pinkerton'); $string->substring(5, 4)->equals('pink'); // Returns true


Viewing all articles
Browse latest Browse all 12749

Trending Articles