Eine PHP-String-Manipulationsbibliothek mit Multibyte-Unterstützung. Kompatibel mit PHP 5.4+, PHP 7+ und HHVM.
s('string')->toTitleCase()->ensureRight('y') == 'Stringy'
Ältere Dokumentation finden Sie im 1.x-Zweig oder 2.x-Zweig.
Warum?
Installation
OO und Verkettung
Implementierte Schnittstellen
Erstellung von PHP 5.6
StaticStringy
Klassenmethoden
erstellen
Instanzmethoden
anhängen | bei | zwischen | kamelisieren |
Zeichen | collapseWhitespace | enthält | enthältAlle |
enthältAny | countSubstr | dasherisieren | abgrenzen |
endetmit | endetWithAny | gewährleistenLinks | stellen Sie sicher, dass es richtig ist |
Erste | getEncoding | hasLowerCase | hasUpperCase |
htmlDecode | htmlEncode | vermenschlichen | indexOf |
indexOfLast | einfügen | isAlpha | ist alphanumerisch |
isBase64 | ist leer | ist hexadezimal | isJson |
isLowerCase | istSerialisiert | isUpperCase | zuletzt |
Länge | Linien | longestCommonPrefix | longestCommonSuffix |
longestCommonSubstring | LowerCaseFirst | Unterlage | padBeide |
padLinks | padRight | voranstellen | regexReplace |
RemoveLeft | RemoveRight | wiederholen | ersetzen |
umkehren | sicherTruncate | Shuffle | träge machen |
Scheibe | Teilt | beginntmit | startetWithAny |
stripWhitespace | Unterstr | umgeben | swapCase |
ordentlich | betiteln | zuAscii | toBoolean |
toLowerCase | toSpaces | zu Tabs | toTitleCase |
toUpperCase | trimmen | trimLeft | trimRight |
kürzen | unterstrichen | oberes Camelize | UpperCaseFirst |
Erweiterungen
Tests
Lizenz
Teilweise aufgrund mangelnder Multibyte-Unterstützung (einschließlich UTF-8) in vielen der Standard-String-Funktionen von PHP. Sondern auch, um einen OO-Wrapper rund um die Multibyte-kompatiblen Funktionen des mbstring
Moduls anzubieten. Stringy bewältigt einige Macken, bietet zusätzliche Funktionalität und macht hoffentlich die Arbeit mit Strings ein wenig einfacher!
// Standardbibliothekstrtoupper('fòôbàř'); // 'FòôBàř'strlen('fòôbàř'); // 10// mbstringmb_strtoupper('fòôbàř'); // 'FÒÔBÀŘ'mb_strlen('fòôbàř'); // '6'// Stringys('fòôbàř)->toUpperCase(); // 'FÒÔBÀŘ's('fòôbàř')->length(); // '6'
Wenn Sie Composer zum Verwalten von Abhängigkeiten verwenden, können Sie Folgendes in Ihre Datei „composer.json“ aufnehmen:
"require": {"danielstjules/stringy": "~3.1.0"}
Anschließend können Sie nach dem Ausführen composer update
oder php composer.phar update
die Klasse mithilfe der automatischen Ladefunktion von Composer laden:
require 'vendor/autoload.php';
Andernfalls können Sie die Datei einfach direkt anfordern:
require_once 'path/to/Stringy/src/Stringy.php';
Und in jedem Fall würde ich die Verwendung eines Alias vorschlagen.
verwende StringyStringy als S;
Bitte beachten Sie, dass Stringy für die zugrunde liegende Multibyte-Unterstützung auf das mbstring
-Modul angewiesen ist. Wenn das Modul nicht gefunden wird, verwendet Stringy symfony/polyfill-mbstring. ex-mbstring ist ein nicht standardmäßiges, aber sehr verbreitetes Modul. Bei Debian und Ubuntu ist es beispielsweise in libapache2-mod-php5, php5-cli und php5-fpm enthalten. Für OSX-Benutzer ist es eine Standardeinstellung für jede mit Homebrew installierte PHP-Version. Wenn Sie PHP von Grund auf kompilieren, kann es mit dem Flag --enable-mbstring
eingebunden werden.
Die Bibliothek bietet OO-Methodenverkettung, wie unten dargestellt:
use StringyStringy as S;echo S::create('fòô bàř)->collapseWhitespace()->swapCase(); // 'FÒÔ BÀŘ'
StringyStringy
verfügt über eine __toString()-Methode, die den aktuellen String zurückgibt, wenn das Objekt in einem String-Kontext verwendet wird, d. h.: (string) S::create('foo') // 'foo'
StringyStringy
implementiert die IteratorAggregate
Schnittstelle, was bedeutet, dass foreach
mit einer Instanz der Klasse verwendet werden kann:
$stringy = S::create('fòôbàř');foreach ($stringy as $char) {echo $char; }// 'fòôbàř'
Es implementiert die Countable
-Schnittstelle und ermöglicht die Verwendung von count()
zum Abrufen der Anzahl der Zeichen in der Zeichenfolge:
$stringy = S::create('fòô');count($stringy); // 3
Darüber hinaus wurde die ArrayAccess
Schnittstelle implementiert. Daher kann isset()
verwendet werden, um zu prüfen, ob ein Zeichen an einem bestimmten Index vorhanden ist. Und da StringyStringy
unveränderlich ist, löst jeder Aufruf von offsetSet
oder offsetUnset
eine Ausnahme aus. offsetGet
wurde jedoch implementiert und akzeptiert sowohl positive als auch negative Indizes. Ungültige Indizes führen zu einer OutOfBoundsException
.
$stringy = S::create('bàř');echo $stringy[2]; // 'ř'echo $stringy[-2]; // 'à'isset($stringy[-4]); // false$stringy[3]; // OutOfBoundsException$stringy[2] = 'a'; // Ausnahme
Ab PHP 5.6 steht use function
zum Importieren von Funktionen zur Verfügung. Stringy stellt eine Namespace-Funktion namens Stringycreate
bereit, die das gleiche Verhalten wie StringyStringy::create()
ausgibt. Wenn Sie PHP 5.6 oder eine andere Laufzeit ausführen, die die use function
unterstützt, können Sie eine noch einfachere API nutzen, wie unten gezeigt:
use function Stringycreate as s;// Statt: S::create('fòô bàř')s('fòô bàř')->collapseWhitespace()->swapCase();
Alle unter „Instanzmethoden“ aufgeführten Methoden sind als Teil eines statischen Wrappers verfügbar. Bei StaticStringy-Methoden wird erwartet, dass die optionale Codierung das letzte Argument ist. Der Rückgabewert wird nicht umgewandelt und kann daher vom Typ Stringy, Integer, Boolean usw. sein.
use StringyStaticStringy as S;// Übersetzt in Stringy::create('fòôbàř')->slice(0, 3);// Gibt ein Stringy-Objekt mit der Zeichenfolge "fòô" zurückS::slice('fòôbàř', 0, 3);
Erstellt ein Stringy-Objekt und weist den angegebenen Werten sowohl die str- als auch die Encoding-Eigenschaften zu. $str wird vor der Zuweisung in eine Zeichenfolge umgewandelt. Wenn $encoding nicht angegeben ist, wird standardmäßig mb_internal_encoding() verwendet. Anschließend wird das initialisierte Objekt zurückgegeben. Löst eine InvalidArgumentException aus, wenn das erste Argument ein Array oder Objekt ohne eine __toString-Methode ist.
$stringy = S::create('fòôbàř'); // 'fòôbàř'
Stringy-Objekte sind unveränderlich. Alle folgenden Beispiele nutzen den Funktionsimport von PHP 5.6 und die kurze Array-Syntax von PHP 5.4. Sie gehen außerdem davon aus, dass die von mb_internal_encoding() zurückgegebene Codierung UTF-8 ist. Weitere Einzelheiten finden Sie in der Dokumentation zur Erstellungsmethode oben sowie in den Hinweisen zur PHP 5.6-Erstellung.
Gibt eine neue Zeichenfolge mit angehängtem $string zurück.
s('fòô')->append('bàř'); // 'fòôbàř'
Gibt das Zeichen bei $index zurück, wobei die Indizes bei 0 beginnen.
s('fòôbàř')->at(3); // 'B'
Gibt die Teilzeichenfolge zwischen $start und $end zurück, falls gefunden, oder eine leere Zeichenfolge. Es kann ein optionaler Offset angegeben werden, von dem aus die Suche nach der Startzeichenfolge beginnen soll.
s('{foo} und {bar}')->between('{', '}'); // 'foo'
Gibt eine CamelCase-Version der Zeichenfolge zurück. Schneidet umgebende Leerzeichen ab, schreibt Buchstaben nach Ziffern, Leerzeichen, Bindestrichen und Unterstrichen groß und entfernt Leerzeichen, Bindestriche und Unterstriche.
s('Camel-Case')->camelize(); // 'camelCase'
Gibt ein Array zurück, das aus den Zeichen in der Zeichenfolge besteht.
s('fòôbàř')->chars(); // ['f', 'ò', 'ô', 'b', 'à', 'ř']
Schneidet die Zeichenfolge ab und ersetzt aufeinanderfolgende Leerzeichen durch ein einzelnes Leerzeichen. Dazu gehören Tabulatoren und Zeilenumbrüche sowie Multibyte-Leerzeichen wie Thin Space und Ideographic Space.
s(' Ο συγγραφέας ')->collapseWhitespace(); // 'Ο συγγραφέας'
Gibt true zurück, wenn die Zeichenfolge $needle enthält, andernfalls false. Standardmäßig wird beim Vergleich die Groß-/Kleinschreibung beachtet, dies kann jedoch durch Festlegen von $caseSensitive auf „false“ verhindert werden.
s('Ο συγγραφέας είπε')->contains('συγγραφέας'); // WAHR
Gibt true zurück, wenn die Zeichenfolge alle $needles enthält, andernfalls false. Standardmäßig berücksichtigt der Vergleich die Groß-/Kleinschreibung, kann jedoch durch Setzen von $caseSensitive auf „false“ unempfindlich gemacht werden.
s('foo & bar')->containsAll(['foo', 'bar']); // WAHR
Gibt true zurück, wenn die Zeichenfolge $needles enthält, andernfalls false. Standardmäßig berücksichtigt der Vergleich die Groß-/Kleinschreibung, kann jedoch durch Setzen von $caseSensitive auf „false“ unempfindlich gemacht werden.
s('str enthält foo')->containsAny(['foo', 'bar']); // WAHR
Gibt die Anzahl der Vorkommen von $substring in der angegebenen Zeichenfolge zurück. Standardmäßig wird beim Vergleich die Groß-/Kleinschreibung beachtet, dies kann jedoch durch Festlegen von $caseSensitive auf „false“ verhindert werden.
s('Ο συγγραφέας είπε')->countSubstr('α'); // 2
Gibt eine kleingeschriebene und gekürzte Zeichenfolge zurück, die durch Bindestriche getrennt ist. Bindestriche werden vor Großbuchstaben (mit Ausnahme des ersten Zeichens der Zeichenfolge) und anstelle von Leerzeichen sowie Unterstrichen eingefügt.
s('fooBar')->dasherize(); // 'foo-bar'
Gibt eine kleingeschriebene und gekürzte Zeichenfolge zurück, die durch das angegebene Trennzeichen getrennt ist. Trennzeichen werden vor Großbuchstaben (mit Ausnahme des ersten Zeichens der Zeichenfolge) und anstelle von Leerzeichen, Bindestrichen und Unterstrichen eingefügt. Alpha-Trennzeichen werden nicht in Kleinbuchstaben umgewandelt.
s('fooBar')->delimit('::'); // 'foo::bar'
Gibt true zurück, wenn die Zeichenfolge mit $substring endet, andernfalls false. Standardmäßig wird beim Vergleich die Groß-/Kleinschreibung beachtet, dies kann jedoch durch Festlegen von $caseSensitive auf „false“ verhindert werden.
s('fòôbàř')->endsWith('bàř'); // WAHR
Gibt true zurück, wenn die Zeichenfolge mit einem der $substrings endet, andernfalls false. Standardmäßig wird beim Vergleich die Groß-/Kleinschreibung beachtet, dies kann jedoch durch Festlegen von $caseSensitive auf „false“ verhindert werden.
s('fòôbàř')->endsWithAny(['bàř', 'baz']); // WAHR
Stellt sicher, dass die Zeichenfolge mit $substring beginnt. Wenn nicht, wird es vorangestellt.
s('foobar')->ensureLeft('http://'); // 'http://foobar'
Stellt sicher, dass die Zeichenfolge mit $substring endet. Wenn nicht, wird es angehängt.
s('foobar')->ensureRight('.com'); // 'foobar.com'
Gibt die ersten $n Zeichen der Zeichenfolge zurück.
s('fòôbàř')->first(3); // 'fòô'
Gibt die vom Stringy-Objekt verwendete Codierung zurück.
s('fòôbàř)->getEncoding(); // 'UTF-8'
Gibt „true“ zurück, wenn die Zeichenfolge ein Zeichen in Kleinbuchstaben enthält, andernfalls „false“.
s('fòôbàř')->hasLowerCase(); // WAHR
Gibt „true“ zurück, wenn die Zeichenfolge ein Großbuchstabenzeichen enthält, andernfalls „false“.
s('fòôbàř)->hasUpperCase(); // FALSCH
Konvertieren Sie alle HTML-Entitäten in die entsprechenden Zeichen. Ein Alias von html_entity_decode. Eine Liste der Flags finden Sie unter http://php.net/manual/en/function.html-entity-decode.php
s('&')->htmlDecode(); // '&'
Konvertieren Sie alle anwendbaren Zeichen in HTML-Entitäten. Ein Alias von htmlentities. Eine Liste der Flags finden Sie unter http://php.net/manual/en/function.htmlentities.php.
s('&')->htmlEncode(); // '&'
Schreibt das erste Wort der Zeichenfolge groß, ersetzt Unterstriche durch Leerzeichen und entfernt „_id“.
s('author_id')->humanize(); // 'Autor'
Gibt den Index des ersten Vorkommens von $needle in der Zeichenfolge zurück und false, wenn nicht gefunden. Akzeptiert einen optionalen Offset, von dem aus die Suche beginnen soll. Bei einem negativen Index wird vom Ende aus gesucht
s('string')->indexOf('ing'); // 3
Gibt den Index des letzten Vorkommens von $needle in der Zeichenfolge zurück und false, wenn nicht gefunden. Akzeptiert einen optionalen Offset, von dem aus die Suche beginnen soll. Offsets können negativ sein und werden ab dem letzten Zeichen in der Zeichenfolge gezählt.
s('foobarfoo')->indexOfLast('foo'); // 10
Fügt $substring am angegebenen $index in die Zeichenfolge ein.
s('fòôbř')->insert('à', 4); // 'fòôbàř'
Gibt true zurück, wenn die Zeichenfolge nur alphabetische Zeichen enthält, andernfalls false.
s('丹尼爾')->isAlpha(); // WAHR
Gibt true zurück, wenn die Zeichenfolge nur alphabetische und numerische Zeichen enthält, andernfalls false.
s('دانيال1')->isAlphanumeric(); // WAHR
Gibt „true“ zurück, wenn die Zeichenfolge Base64-codiert ist, andernfalls „false“.
s('Zm9vYmFy')->isBase64(); // WAHR
Gibt true zurück, wenn die Zeichenfolge nur Leerzeichen enthält, andernfalls false.
s("nt vf")->isBlank(); // WAHR
Gibt „true“ zurück, wenn die Zeichenfolge nur hexadezimale Zeichen enthält, andernfalls „false“.
s('A102F')->isHexadecimal(); // WAHR
Gibt true zurück, wenn die Zeichenfolge JSON ist, andernfalls false. Im Gegensatz zu json_decode in PHP 5.x ist diese Methode mit PHP 7 und anderen JSON-Parsern konsistent, da eine leere Zeichenfolge nicht als gültiges JSON gilt.
s('{"foo":"bar"}')->isJson(); // WAHR
Gibt „true“ zurück, wenn die Zeichenfolge nur Kleinbuchstaben enthält, andernfalls „false“.
s('fòôbàř)->isLowerCase(); // WAHR
Gibt true zurück, wenn die Zeichenfolge serialisiert ist, andernfalls false.
s('a:1:{s:3:"foo";s:3:"bar";}')->isSerialized(); // WAHR
Gibt „true“ zurück, wenn die Zeichenfolge nur Großbuchstaben enthält, andernfalls „false“.
s('FÒÔBÀŘ')->isUpperCase(); // WAHR
Gibt die letzten $n Zeichen der Zeichenfolge zurück.
s('fòôbàř')->last(3); // 'Bar'
Gibt die Länge der Zeichenfolge zurück. Ein Alias für die PHP-Funktion mb_strlen().
s('fòôbàř)->length(); // 6
Teilt bei Zeilenumbrüchen und Wagenrückläufen und gibt ein Array von Stringy-Objekten zurück, die den Zeilen in der Zeichenfolge entsprechen.
s("fòôrnbàřn")->lines(); // ['fòô', 'bàř', '']
Gibt das längste gemeinsame Präfix zwischen der Zeichenfolge und $otherStr zurück.
s('foobar')->longestCommonPrefix('foobaz'); // 'fooba'
Gibt das längste gemeinsame Suffix zwischen der Zeichenfolge und $otherStr zurück.
s('fòôbàř')->longestCommonSuffix('fòôbàř'); // 'Bar'
Gibt den längsten gemeinsamen Teilstring zwischen dem String und $otherStr zurück. Bei Gleichstand wird das zuerst auftretende Ergebnis zurückgegeben.
s('foobar')->longestCommonSubstring('boofar'); // 'oo'
Konvertiert das erste Zeichen der angegebenen Zeichenfolge in Kleinbuchstaben.
s('Σ foo')->lowerCaseFirst(); // 'σ foo'
Füllt die Zeichenfolge mit $padStr auf eine bestimmte Länge auf. Wenn die Länge kleiner oder gleich der Länge der Zeichenfolge ist, erfolgt keine Auffüllung. Die zum Auffüllen verwendete Standardzeichenfolge ist ein Leerzeichen und der Standardtyp (einer von „links“, „rechts“, „beide“) ist „rechts“. Löst eine InvalidArgumentException aus, wenn $padType keiner dieser drei Werte ist.
s('fòôbàř')->pad(9, '-/', 'left'); // '-/-fòôbàř'
Gibt eine neue Zeichenfolge einer bestimmten Länge zurück, sodass beide Seiten der Zeichenfolge aufgefüllt werden. Alias für pad() mit einem $padType von „both“.
s('foo bar')->padBoth(9, ' '); // ' foo bar '
Gibt eine neue Zeichenfolge einer bestimmten Länge zurück, sodass der Anfang der Zeichenfolge aufgefüllt wird. Alias für pad() mit einem $padType von „left“.
s('foo bar')->padLeft(9, ' '); // 'foo bar'
Gibt eine neue Zeichenfolge einer bestimmten Länge zurück, sodass das Ende der Zeichenfolge aufgefüllt wird. Alias für pad() mit einem $padType von „right“.
s('foo bar')->padRight(10, '_*'); // 'foo bar_*_'
Gibt eine neue Zeichenfolge zurück, die mit $string beginnt.
s('bàř')->prepend('fòô'); // 'fòôbàř'
Ersetzt alle Vorkommen von $pattern in $str durch $replacement. Ein Alias für mb_ereg_replace(). Beachten Sie, dass die Option „i“ mit Multibyte-Mustern in mb_ereg_replace() PHP 5.6+ für korrekte Ergebnisse erfordert. Dies ist auf mangelnde Unterstützung in der gebündelten Version von Oniguruma in PHP < 5.6 und aktuellen Versionen von HHVM (3.8 und niedriger) zurückzuführen.
s('fòô ')->regexReplace('f[òô]+s', 'bàř'); // 'bàř's('fò')->regexReplace('(ò)', '1ô'); // 'fòô'
Gibt eine neue Zeichenfolge zurück, bei der das Präfix $substring entfernt wurde, falls vorhanden.
s('fòôbàř')->removeLeft('fòô'); // 'Bar'
Gibt eine neue Zeichenfolge zurück, bei der das Suffix $substring entfernt wurde, falls vorhanden.
s('fòôbàř')->removeRight('bàř'); // 'fòô'
Gibt bei gegebenem Multiplikator eine wiederholte Zeichenfolge zurück. Ein Alias für str_repeat.
s('α')->repeat(3); // 'ααα'
Ersetzt alle Vorkommen von $search in $str durch $replacement.
s('fòô bàř fòô bàř')->replace('fòô ', ''); // 'bàř bàř'
Gibt eine umgekehrte Zeichenfolge zurück. Eine Multibyte-Version von strrev().
s('fòôbàř')->reverse(); // 'řàbôòf'
Kürzet die Zeichenfolge auf eine bestimmte Länge und stellt gleichzeitig sicher, dass Wörter nicht geteilt werden. Wenn $substring angegeben wird und es zu einer Kürzung kommt, wird die Zeichenfolge weiter gekürzt, sodass die Teilzeichenfolge angehängt werden kann, ohne die gewünschte Länge zu überschreiten.
s('Was sind deine Pläne heute?')->safeTruncate(22, '...');// 'Was sind deine Pläne...'
Eine Multibyte-Str_shuffle()-Funktion. Es gibt einen String mit seinen Zeichen in zufälliger Reihenfolge zurück.
s('fòôbàř')->shuffle(); // 'àôřbòf'
Konvertiert die Zeichenfolge in einen URL-Slug. Dazu gehört das Ersetzen von Nicht-ASCII-Zeichen durch ihre nächsten ASCII-Äquivalente, das Entfernen verbleibender Nicht-ASCII- und nicht alphanumerischer Zeichen sowie das Ersetzen von Leerzeichen durch $replacement. Die Ersetzung erfolgt standardmäßig durch einen einzelnen Bindestrich und die Zeichenfolge wird ebenfalls in Kleinbuchstaben umgewandelt. Für die sprachspezifische Transliteration kann auch die Sprache des Quellstrings angegeben werden.
s('Verwendung von Strings wie fòô bàř')->slugify(); // 'using-strings-like-foo-bar'
Gibt die Teilzeichenfolge zurück, beginnend bei $start und bis zu, jedoch ohne den durch $end angegebenen Index. Wenn $end weggelassen wird, extrahiert die Funktion die verbleibende Zeichenfolge. Wenn $end negativ ist, wird es ab dem Ende der Zeichenfolge berechnet.
s('fòôbàř')->slice(3, -1); // 'bà'
Teilt die Zeichenfolge mit dem bereitgestellten regulären Ausdruck und gibt ein Array von Stringy-Objekten zurück. Eine optionale Ganzzahl $limit kürzt die Ergebnisse.
s('foo,bar,baz')->split(',', 2); // ['foo', 'bar']
Gibt true zurück, wenn die Zeichenfolge mit $substring beginnt, andernfalls false. Standardmäßig wird beim Vergleich die Groß-/Kleinschreibung beachtet, dies kann jedoch durch Festlegen von $caseSensitive auf „false“ verhindert werden.
s('FÒÔbàřbaz')->startsWith('fòôbàř', false); // WAHR
Gibt true zurück, wenn die Zeichenfolge mit einem der $substrings beginnt, andernfalls false. Standardmäßig berücksichtigt der Vergleich die Groß-/Kleinschreibung, kann jedoch durch Setzen von $caseSensitive auf „false“ unempfindlich gemacht werden.
s('FÒÔbàřbaz')->startsWithAny(['fòô', 'bàř'], false); // WAHR
Entfernen Sie alle Leerzeichen. Dazu gehören Tabulatoren und Zeilenumbrüche sowie Multibyte-Leerzeichen wie Thin Space und Ideographic Space.
s(' Ο συγγραφέας ')->stripWhitespace(); // 'Οσυγγραφέας'
Gibt den Teilstring zurück, der bei $start mit der angegebenen $länge beginnt. Sie unterscheidet sich von der Funktion mb_substr() darin, dass bei der Angabe einer $length von null der Rest der Zeichenfolge und keine leere Zeichenfolge zurückgegeben wird.
s('fòôbàř')->substr(2, 3); // 'ôbà'
Umgibt eine Zeichenfolge mit der angegebenen Teilzeichenfolge.
s(' ͜ ')->surround('ʘ'); // 'ʘ ͜ ʘ'
Gibt eine Version der Zeichenfolge mit vertauschter Groß-/Kleinschreibung zurück.
s('Ντανιλ')->swapCase(); // 'νΤΑΝΙΛ'
Gibt eine Zeichenfolge mit Anführungszeichen, Auslassungszeichen und Bindestrichen aus Windows-1252 (häufig in Word-Dokumenten verwendet) zurück, die durch ihre ASCII-Entsprechungen ersetzt wurden.
s('„Ich verstehe…“')->tidy(); // '"Ich verstehe..."'
Gibt eine gekürzte Zeichenfolge zurück, wobei der erste Buchstabe jedes Wortes großgeschrieben wird. Akzeptiert auch ein Array, $ignore, mit dem Sie Wörter auflisten können, die nicht großgeschrieben werden sollen.
$ignore = ['at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the'];s('ich schaue gern fern' )->titleize($ignore);// 'Ich schaue gerne fern'
Gibt eine ASCII-Version der Zeichenfolge zurück. Eine Reihe von Nicht-ASCII-Zeichen werden durch ihre nächsten ASCII-Gegenstücke ersetzt und der Rest wird standardmäßig entfernt. Die Sprache oder das Gebietsschema der Quellzeichenfolge kann für die sprachspezifische Transliteration in einem der folgenden Formate angegeben werden: en, en_GB oder en-GB. Beispielsweise führt die Übergabe von „de“ dazu, dass „äöü“ auf „aeoeue“ abgebildet wird und nicht auf „aou“, wie in anderen Sprachen.
s('fòôbàř')->toAscii(); // 'foobar's('äöü')->toAscii(); // 'aou's('äöü')->toAscii('de'); // 'aeoeue'
Gibt eine boolesche Darstellung des angegebenen logischen Zeichenfolgenwerts zurück. Beispielsweise geben „true“, „1“, „on“ und „yes“ „true“ zurück. „false“, „0“, „off“ und „no“ geben false zurück. In allen Fällen wird die Groß-/Kleinschreibung ignoriert. Bei anderen numerischen Zeichenfolgen bestimmt deren Vorzeichen den Rückgabewert. Darüber hinaus geben leere Zeichenfolgen, die nur aus Leerzeichen bestehen, „false“ zurück. Bei allen anderen Zeichenfolgen ist der Rückgabewert das Ergebnis einer booleschen Umwandlung.
s('OFF')->toBoolean(); // FALSCH
Wandelt alle Zeichen in der Zeichenfolge in Kleinbuchstaben um. Ein Alias für PHPs mb_strtolower().
s('FÒÔBÀŘ')->toLowerCase(); // 'fòôbàř'
Konvertiert jeden Tabulator in der Zeichenfolge in eine bestimmte Anzahl von Leerzeichen, wie durch $tabLength definiert. Standardmäßig wird jeder Tabulator in 4 aufeinanderfolgende Leerzeichen umgewandelt.
s(' String Speech = "Hi"')->toSpaces(); // ' String Speech = "Hi"'
Konvertiert jedes Vorkommen einer aufeinanderfolgenden Anzahl von Leerzeichen, wie durch $tabLength definiert, in einen Tabulator. Standardmäßig werden jeweils 4 aufeinanderfolgende Leerzeichen in einen Tabulator umgewandelt.
s(' fòô bàř')->toTabs();// ' fòô bàř'
Wandelt das erste Zeichen jedes Wortes in der Zeichenfolge in Großbuchstaben um.
s('fòô bàř)->toTitleCase(); // 'Fòô Bàř'
Wandelt alle Zeichen in der Zeichenfolge in Großbuchstaben um. Ein Alias für PHPs mb_strtoupper().
s('fòôbàř)->toUpperCase(); // 'FÒÔBÀŘ'
Gibt eine Zeichenfolge zurück, bei der Leerzeichen am Anfang und Ende der Zeichenfolge entfernt wurden. Unterstützt die Entfernung von Unicode-Leerzeichen. Akzeptiert anstelle der Standardwerte eine optionale Zeichenfolge zum Entfernen.
s(' fòôbàř ')->trim(); // 'fòôbàř'
Gibt eine Zeichenfolge zurück, bei der Leerzeichen am Anfang der Zeichenfolge entfernt wurden. Unterstützt die Entfernung von Unicode-Leerzeichen. Akzeptiert anstelle der Standardwerte eine optionale Zeichenfolge zum Entfernen.
s(' fòôbàř ')->trimLeft(); // 'fòôbàř'
Gibt eine Zeichenfolge zurück, bei der Leerzeichen am Ende der Zeichenfolge entfernt wurden. Unterstützt die Entfernung von Unicode-Leerzeichen. Akzeptiert anstelle der Standardwerte eine optionale Zeichenfolge zum Entfernen.
s(' fòôbàř ')->trimRight(); // ' fòôbàř'
Schneidet die Zeichenfolge auf eine bestimmte Länge ab. Wenn $substring angegeben wird und es zu einer Kürzung kommt, wird die Zeichenfolge weiter gekürzt, sodass die Teilzeichenfolge angehängt werden kann, ohne die gewünschte Länge zu überschreiten.
s('Was sind deine Pläne heute?')->truncate(19, '...'); // 'Was sind deine Pläne...'
Gibt eine kleingeschriebene und gekürzte Zeichenfolge zurück, die durch Unterstriche getrennt ist. Unterstriche werden vor Großbuchstaben (mit Ausnahme des ersten Zeichens der Zeichenfolge) und anstelle von Leerzeichen sowie Bindestrichen eingefügt.
s('TestUCase')->underscored(); // 'test_u_case'
Gibt eine UpperCamelCase-Version der bereitgestellten Zeichenfolge zurück. Es schneidet umgebende Leerzeichen ab, schreibt Buchstaben nach Ziffern, Leerzeichen, Bindestrichen und Unterstrichen groß und entfernt Leerzeichen, Bindestriche und Unterstriche.
s('Upper Camel-Case')->upperCamelize(); // 'UpperCamelCase'
Konvertiert das erste Zeichen der angegebenen Zeichenfolge in Großbuchstaben.
s('σ foo')->upperCaseFirst(); // 'Σ foo'
Im Folgenden finden Sie eine Liste von Bibliotheken, die Stringy erweitern:
SliceableStringy: Python-ähnliche String-Slices in PHP
SubStringy: Erweiterte Teilstring-Methoden
Vom Projektverzeichnis aus können Tests mit phpunit
ausgeführt werden
Veröffentlicht unter der MIT-Lizenz – Einzelheiten finden Sie in LICENSE.txt
.