Symfony String Component

Interfaces

  • [Stringable Interface](Stringable Interface)

Syntax

Misc

String conversion

use Symfony\Component\String\ByteString;
use Symfony\Component\String\CodePointString;
use Symfony\Component\String\UnicodeString;

content = new UnicodeString(‘नमस्ते दुनिया’);
$content = new ByteString(‘さよなら’);

content = UnicodeString::fromCodePoints(0x68, 0x65, 0x6C, 0x6C, 0x6F)->toByteString();

use function Symfony\Component\String\b;
use function Symfony\Component\String\u;

// both are equivalent
content = new ByteString(‘hello’);

// both are equivalent
content = new UnicodeString(‘hello’);

Object-oriented strings

// using PHP functions
if (‘.html’ === substr($theString, -strlen(‘.html’))) {
// …
}

// using Symfony’s String
if (u($theString)->endsWith(‘.html’)) {
// …
}

text = ‘This is a jamais-vu situation!’

u(‘FOO Bar’)->folded(); // ‘foo bar’
u(‘Die O’Brian Straße’)->folded(); // “die o’brian strasse”

String Slugger

use Symfony\Component\String\Slugger\AsciiSlugger;

slugger->slug(‘Стойността трябва’, ’-’, ‘bg’); // ‘Stoinostta-tryabva’
slugger->slug(‘该变量的值应为’, ’-’, ‘zh’); // ‘gai-bian-liang-de-zhi-ying-wei’
$slugger->slug(‘Wôrķšƥáçè sèťtïñğš’); // ‘Workspace-settings’

Twig Integration

{{ ‘Lorem ipsum’|u.truncate(8, ’…’) }}
{# prints: Lorem… #}

{{ ‘SymfonyStringWithTwig’|u.snake }}
{# prints: symfony_string_with_twig #}

Related

  • [Symfony Components](Symfony Components)
  • [Symfony 5.0](Symfony 5.0)