멀티바이트를 지원하는 PHP 문자열 조작 라이브러리입니다. PHP 5.4+, PHP 7+ 및 HHVM과 호환됩니다.
s('string')->toTitleCase()->ensureRight('y') == 'Stringy'
이전 설명서는 1.x 분기 또는 2.x 분기를 참조하세요.
왜?
설치
OO와 체이닝
구현된 인터페이스
PHP 5.6 생성
정적문자열
수업 방법
만들다
인스턴스 메소드
추가 | ~에 | ~ 사이 | 낙타화하다 |
문자 | 축소공백 | 포함 | 모두 포함 |
무엇이든 포함 | countSubstr | 대시화하다 | 구분하다 |
다음으로 끝남 | 다음으로 끝남 | 왼쪽 보장 | 보장하다 |
첫 번째 | getEncoding | hasLowerCase | has대문자 |
html디코드 | HTML인코딩 | 인간화하다 | 인덱스의 |
indexOfLast | 끼워 넣다 | isAlpha | is영숫자 |
isBase64 | isBlank | 16진수 | isJson |
isLowerCase | 직렬화됨 | is대문자 | 마지막 |
길이 | 윤곽 | 가장 긴공통 접두사 | 가장 긴공통접미사 |
가장 긴공통하위 문자열 | lowerCaseFirst | 인주 | 패드모두 |
패드왼쪽 | 패드오른쪽 | 앞에 추가 | 정규식바꾸기 |
제거왼쪽 | 제거오른쪽 | 반복하다 | 바꾸다 |
뒤집다 | safeTruncate | 혼합 | 슬러그화하다 |
일부분 | 나뉘다 | 시작 | startWithAny |
스트립공백 | 하위 문자열 | 서라운드 | 교환 케이스 |
정돈하다 | 제목을 붙이다 | toAscii | toBoolean |
toLowerCase | toSpaces | 탭으로 | toTitleCase |
to대문자 | 손질 | 트림왼쪽 | 트림오른쪽 |
잘리다 | 밑줄이 그어진 | 어퍼카멜화 | 대문자첫번째 |
확장
테스트
특허
부분적으로는 많은 PHP 표준 문자열 함수에서 멀티바이트 지원(UTF-8 포함)이 부족하기 때문입니다. 또한 mbstring
모듈의 멀티바이트 호환 기능에 대한 OO 래퍼를 제공합니다. Stringy는 몇 가지 특이한 점을 처리하고 추가 기능을 제공하며 문자열 작업을 좀 더 쉽게 만들 수 있기를 바랍니다!
// 표준 라이브러리strtoupper('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'
Composer를 사용하여 종속성을 관리하는 경우 작곡가.json 파일에 다음을 포함할 수 있습니다.
"require": {"danielstjules/stringy": "~3.1.0"}
그런 다음, composer update
또는 php composer.phar update
실행한 후 Composer의 자동 로딩을 사용하여 클래스를 로드할 수 있습니다.
'vendor/autoload.php'가 필요합니다.
그렇지 않으면 간단히 파일을 직접 요구할 수 있습니다.
require_once '경로/to/Stringy/src/Stringy.php';
두 경우 모두 별칭을 사용하는 것이 좋습니다.
StringyStringy를 S로 사용합니다.
Stringy는 기본 멀티바이트 지원을 위해 mbstring
모듈에 의존한다는 점에 유의하세요. 모듈을 찾을 수 없으면 Stringy는 Symfony/polyfill-mbstring을 사용합니다. ex-mbstring은 기본값은 아니지만 매우 일반적인 모듈입니다. 예를 들어, debian 및 ubuntu의 경우 libapache2-mod-php5, php5-cli 및 php5-fpm에 포함되어 있습니다. OSX 사용자의 경우 homebrew와 함께 설치된 모든 PHP 버전의 기본값입니다. PHP를 처음부터 컴파일하는 경우 --enable-mbstring
플래그와 함께 포함될 수 있습니다.
라이브러리는 아래와 같이 OO 메서드 체이닝을 제공합니다.
StringyStringy를 S;echo S::create('fòô bàř')->collapseWhitespace()->swapCase()로 사용하세요. // 'FÒÔ BÀŘ'
StringyStringy
에는 객체가 문자열 컨텍스트에서 사용될 때 현재 문자열을 반환하는 __toString() 메서드가 있습니다. 예: (string) S::create('foo') // 'foo'
StringyStringy
IteratorAggregate
인터페이스를 구현합니다. 즉, foreach
클래스의 인스턴스와 함께 사용할 수 있습니다.
$stringy = S::create('fòôbàř');foreach ($stringy를 $char로) {echo $char; }// '포바르'
Countable
인터페이스를 구현하여 count()
를 사용하여 문자열의 문자 수를 검색할 수 있습니다.
$stringy = S::create('fòô');count($stringy); // 3
또한 ArrayAccess
인터페이스가 구현되었습니다. 결과적으로 isset()
사용하면 특정 인덱스에 문자가 있는지 확인할 수 있습니다. 그리고 StringyStringy
변경할 수 없으므로 offsetSet
또는 offsetUnset
호출하면 예외가 발생합니다. 그러나 offsetGet
구현되었으며 양수 인덱스와 음수 인덱스를 모두 허용합니다. 잘못된 인덱스로 인해 OutOfBoundsException
발생합니다.
$stringy = S::create('bàř');echo $stringy[2]; // 'echo $stringy[-2]; // 'à'isset($stringy[-4]); // false$stringy[3]; // OutOfBoundsException$stringy[2] = 'a'; // 예외
PHP 5.6부터 함수 가져오기에 use function
가능해졌습니다. Stringy는 StringyStringy::create()
와 동일한 동작을 내보내는 네임스페이스 함수 Stringycreate
노출합니다. PHP 5.6 또는 use function
구문을 지원하는 다른 런타임을 실행하는 경우 아래와 같이 훨씬 더 간단한 API를 활용할 수 있습니다.
s;// 대신에 Stringycreate 함수를 사용하십시오: S::create('fòô bàř')s('fòô bàř')->collapseWhitespace()->swapCase();
"인스턴스 메서드" 아래에 나열된 모든 메서드는 정적 래퍼의 일부로 사용할 수 있습니다. StaticStringy 메서드의 경우 선택적 인코딩이 마지막 인수가 될 것으로 예상됩니다. 반환 값은 캐스팅되지 않으므로 Stringy, 정수, 부울 등의 유형일 수 있습니다.
StringyStaticStringy를 S로 사용;// Stringy::create('fòôbàř')->slice(0, 3)으로 변환;// 문자열 "fòô"S::slice('fòôbàř', 0, 3);
Stringy 객체를 생성하고 str 및 인코딩 속성에 제공된 값을 할당합니다. $str은 할당 전에 문자열로 캐스팅되며, $encoding이 지정되지 않은 경우 기본값은 mb_internal_encoding()입니다. 그런 다음 초기화된 개체를 반환합니다. 첫 번째 인수가 __toString 메서드가 없는 배열 또는 개체인 경우 InvalidArgumentException이 발생합니다.
$stringy = S::create('fòôbàř'); // '포바르'
Stringy 객체는 변경할 수 없습니다. 아래의 모든 예는 PHP 5.6 함수 가져오기 및 PHP 5.4 짧은 배열 구문을 사용합니다. 또한 mb_internal_encoding()에서 반환된 인코딩이 UTF-8이라고 가정합니다. 자세한 내용은 위의 create 메서드에 대한 설명서와 PHP 5.6 생성에 대한 참고 사항을 참조하세요.
$string이 추가된 새 문자열을 반환합니다.
s('fòô')->추가('bàř'); // '포바르'
$index에 있는 문자를 반환하며 인덱스는 0부터 시작합니다.
s('fòôbàř')->at(3); // '비'
$start와 $end 사이에 하위 문자열(있는 경우)을 반환하거나 빈 문자열을 반환합니다. 시작 문자열 검색을 시작하기 위한 선택적 오프셋이 제공될 수 있습니다.
s('{foo} 및 {bar}')->between('{', '}'); // '푸'
문자열의 camelCase 버전을 반환합니다. 주변 공백을 자르고 숫자, 공백, 대시 및 밑줄 뒤의 문자를 대문자로 바꾸고 공백, 대시 및 밑줄을 제거합니다.
s('Camel-Case')->camelize(); // '카멜케이스'
문자열의 문자로 구성된 배열을 반환합니다.
s('fòôbàř')->chars(); // ['f', 'ò', 'ô', 'b', 'à', 'ř']
문자열을 자르고 연속 공백 문자를 단일 공백으로 바꿉니다. 여기에는 탭과 개행 문자는 물론 씬 공백 및 표의 문자 공백과 같은 멀티바이트 공백도 포함됩니다.
s(' Ο συγγραφέας ')->collapseWhitespace(); // 'Ο 비교하다'
문자열에 $needle이 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('Ο συγγραϭας ειπε')->contains('συγγραψέας'); // 진실
문자열에 모든 $needle이 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('foo & bar')->containsAll(['foo', 'bar']); // 진실
문자열에 $needle이 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('str은 foo를 포함합니다')->containsAny(['foo', 'bar']); // 진실
주어진 문자열에서 $substring이 나타나는 횟수를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('Ο συγγραϭας ειπε')->countSubstr('α'); // 2
대시로 구분된 잘린 문자열과 소문자를 반환합니다. 대시는 대문자(문자열의 첫 번째 문자 제외) 앞에 삽입되고 공백 및 밑줄 대신 삽입됩니다.
s('fooBar')->dasherize(); // '푸-바'
주어진 구분 기호로 구분된 잘린 문자열과 소문자를 반환합니다. 구분 기호는 대문자(문자열의 첫 번째 문자 제외) 앞에 삽입되고 공백, 대시 및 밑줄 대신 삽입됩니다. 알파 구분 기호는 소문자로 변환되지 않습니다.
s('fooBar')->delimit('::'); // 'foo::바'
문자열이 $substring으로 끝나면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('fòôbàř')->endsWith('bàř'); // 진실
문자열이 $substring 중 하나로 끝나면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('fòôbàř')->endsWithAny(['bàř', 'baz']); // 진실
문자열이 $substring으로 시작하는지 확인합니다. 그렇지 않은 경우 앞에 추가됩니다.
s('foobar')->ensureLeft('http://'); // 'http://foobar'
문자열이 $substring으로 끝나는지 확인합니다. 그렇지 않은 경우에는 추가됩니다.
s('foobar')->ensureRight('.com'); // 'foobar.com'
문자열의 처음 $n 문자를 반환합니다.
s('fòôbàř')->첫 번째(3); // '포'
Stringy 객체가 사용하는 인코딩을 반환합니다.
s('fòôbàř')->getEncoding(); // 'UTF-8'
문자열에 소문자 문자가 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s('fòôbàř')->hasLowerCase(); // 진실
문자열에 대문자 문자가 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s('fòôbàř')->hasUpperCase(); // 거짓
모든 HTML 엔터티를 해당 문자로 변환합니다. html_entity_decode의 별칭입니다. 플래그 목록은 http://php.net/manual/en/function.html-entity-decode.php를 참조하세요.
s('&')->htmlDecode(); // '&'
적용 가능한 모든 문자를 HTML 엔터티로 변환합니다. htmlentities의 별칭입니다. 플래그 목록은 http://php.net/manual/en/function.htmlentities.php를 참조하세요.
s('&')->htmlEncode(); // '&'
문자열의 첫 번째 단어를 대문자로 바꾸고 밑줄을 공백으로 바꾸고 '_id'를 제거합니다.
s('author_id')->humanize(); // '작가'
문자열에서 $needle이 처음 나타나는 인덱스를 반환하고, 발견되지 않으면 false를 반환합니다. 검색을 시작할 선택적 오프셋을 허용합니다. 음수 인덱스는 끝부터 검색합니다.
s('string')->indexOf('ing'); // 3
문자열에서 $needle이 마지막으로 나타나는 인덱스를 반환하고, 찾을 수 없으면 false를 반환합니다. 검색을 시작할 선택적 오프셋을 허용합니다. 문자열의 마지막 문자부터 계산하려면 오프셋이 음수일 수 있습니다.
s('foobarfoo')->indexOfLast('foo'); // 10
제공된 $index의 문자열에 $substring을 삽입합니다.
s('fòôbř')->insert('à', 4); // '포바르'
문자열에 알파벳 문자만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s('丹尼爾')->isAlpha(); // 진실
문자열에 알파벳과 숫자만 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
s('دانيال1')->isAlphanumeric(); // 진실
문자열이 base64로 인코딩되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
s('Zm9vYmFy')->isBase64(); // 진실
문자열에 공백 문자만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s("nt vf")->isBlank(); // 진실
문자열에 16진수 문자만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s('A102F')->isHexadecimal(); // 진실
문자열이 JSON이면 true를 반환하고 그렇지 않으면 false를 반환합니다. PHP 5.x의 json_decode와 달리 이 방법은 빈 문자열이 유효한 JSON으로 간주되지 않는다는 점에서 PHP 7 및 기타 JSON 파서와 일치합니다.
s('{"foo":"bar"}')->isJson(); // 진실
문자열에 소문자만 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
s('fòôbàř')->isLowerCase(); // 진실
문자열이 직렬화되면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
s('a:1:{s:3:"foo";s:3:"bar";}')->isSerialized(); // 진실
문자열에 대문자만 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
s('FÒÔBÀŘ')->isUpperCase(); // 진실
문자열의 마지막 $n 문자를 반환합니다.
s('fòôbàř')->last(3); // '술집'
문자열의 길이를 반환합니다. PHP의 mb_strlen() 함수에 대한 별칭입니다.
s('fòôbàř')->length(); // 6
개행 및 캐리지 리턴으로 분할하여 문자열의 행에 해당하는 Stringy 객체의 배열을 반환합니다.
s("fòôrnbàřn")->lines(); // ['fòô', 'bàř', '']
문자열과 $otherStr 사이의 가장 긴 공통 접두사를 반환합니다.
s('foobar')->longestCommonPrefix('foobar'); // '푸바'
문자열과 $otherStr 사이의 가장 긴 공통 접미사를 반환합니다.
s('fòôbàř')->longestCommonSuffix('fòrbàř'); // '술집'
문자열과 $otherStr 사이의 가장 긴 공통 하위 문자열을 반환합니다. 동점인 경우 먼저 발생한 것을 반환합니다.
s('foobar')->longestCommonSubstring('boofar'); // '아'
제공된 문자열의 첫 번째 문자를 소문자로 변환합니다.
s('Σ foo')->lowerCaseFirst(); // 'σ foo'
$padStr을 사용하여 문자열을 주어진 길이로 채웁니다. 길이가 문자열 길이보다 작거나 같으면 패딩이 발생하지 않습니다. 패딩에 사용되는 기본 문자열은 공백이며, 기본 유형('left', 'right', 'both' 중 하나)은 'right'입니다. $padType이 해당 3개 값 중 하나가 아닌 경우 InvalidArgumentException이 발생합니다.
s('fòôbàř')->pad(9, '-/', '왼쪽'); // '-/-fòôbàř'
문자열 문자열의 양쪽이 채워지도록 지정된 길이의 새 문자열을 반환합니다. $padType이 'both'인 pad()의 별칭입니다.
s('foo bar')->padBoth(9, ' '); // '푸 바'
문자열의 시작 부분이 채워지도록 지정된 길이의 새 문자열을 반환합니다. $padType이 'left'인 pad()의 별칭입니다.
s('foo bar')->padLeft(9, ' '); // '푸 바'
문자열의 끝이 채워지도록 지정된 길이의 새 문자열을 반환합니다. $padType이 'right'인 pad()의 별칭입니다.
s('foo bar')->padRight(10, '_*'); // '푸 바_*_'
$string으로 시작하는 새 문자열을 반환합니다.
s('bàř')->prepend('fòô'); // '포바르'
$str에서 $pattern의 모든 항목을 $replacement로 바꿉니다. mb_ereg_replace()의 별칭입니다. mb_ereg_replace()에서 멀티바이트 패턴이 포함된 'i' 옵션을 사용하려면 올바른 결과를 얻으려면 PHP 5.6 이상이 필요합니다. 이는 PHP < 5.6의 번들 버전인 Oniguruma와 현재 버전의 HHVM(3.8 이하)에서 지원이 부족하기 때문입니다.
s('fòô ')->regexReplace('f[òô]+s', 'bàř'); // 'bàř's('fò')->regexReplace('(ò)', '1ô'); // '포'
$substring 접두어가 제거된 새 문자열을 반환합니다(있는 경우).
s('fòôbàř')->removeLeft('fòô'); // '술집'
$substring 접미사가 있는 경우 제거된 새 문자열을 반환합니다.
s('fòôbàř')->removeRight('bàř'); // '포'
승수가 주어지면 반복되는 문자열을 반환합니다. str_repeat의 별칭입니다.
s('α')->반복(3); // 'ααα'
$str에서 $search의 모든 항목을 $replacement로 바꿉니다.
s('fòô bàř fòô bàř')->replace('fòô ', ''); // '바르바르'
역방향 문자열을 반환합니다. strrev()의 멀티바이트 버전입니다.
s('fòôbàř')->reverse(); // '르보프'
단어가 분할되지 않도록 하면서 문자열을 지정된 길이로 자릅니다. $substring이 제공되고 잘림이 발생하면 원하는 길이를 초과하지 않고 부분 문자열을 추가할 수 있도록 문자열이 더 잘립니다.
s('오늘 계획은 무엇입니까?')->safeTruncate(22, '...');// '계획은 무엇입니까...'
멀티바이트 str_shuffle() 함수. 임의의 순서로 문자가 포함된 문자열을 반환합니다.
s('fòôbàř')->shuffle(); // '아오르보프'
문자열을 URL 슬러그로 변환합니다. 여기에는 ASCII가 아닌 문자를 가장 가까운 ASCII 문자로 바꾸고, 나머지 비ASCII 및 영숫자가 아닌 문자를 제거하고, 공백을 $replacement로 바꾸는 것이 포함됩니다. 대체 항목의 기본값은 단일 대시이며 문자열도 소문자로 변환됩니다. 언어별 음역을 위해 소스 문자열의 언어를 제공할 수도 있습니다.
s('fòô bàř와 같은 문자열 사용')->slugify(); // '사용-문자열-like-foo-bar'
$start에서 시작하여 $end로 지정된 인덱스를 포함하지 않는 하위 문자열을 반환합니다. $end를 생략하면 함수는 나머지 문자열을 추출합니다. $end가 음수이면 문자열 끝부터 계산됩니다.
s('fòôbàř')->slice(3, -1); // '바'
제공된 정규식으로 문자열을 분할하여 Stringy 개체의 배열을 반환합니다. 선택적 정수 $limit는 결과를 자릅니다.
s('foo,bar,baz')->split(',', 2); // ['foo', '바']
문자열이 $substring으로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('FÒÔbàřbaz')->startsWith('fòôbàř', false); // 진실
문자열이 $substring 중 하나로 시작하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 기본적으로 비교는 대소문자를 구분하지만 $caseSensitive를 false로 설정하면 구분하지 않게 만들 수 있습니다.
s('FÒÔbàřbaz')->startsWithAny(['fòô', 'bàř'], false); // 진실
모든 공백 문자를 제거합니다. 여기에는 탭과 개행 문자는 물론 씬 공백 및 표의 문자 공백과 같은 멀티바이트 공백도 포함됩니다.
s(' Ο συγγρατέας ')->stripWhitespace(); // 'Οσυγγρατέας'
지정된 $length로 $start에서 시작하는 하위 문자열을 반환합니다. $length에 null을 제공하면 빈 문자열이 아닌 나머지 문자열이 반환된다는 점에서 mb_substr() 함수와 다릅니다.
s('fòôbàř')->substr(2, 3); // '오바'
주어진 하위 문자열로 문자열을 둘러쌉니다.
s(' ͜ ')->서라운드('ʘ'); // 'ʘ ͜ ʘ'
문자열의 대소문자가 바뀐 버전을 반환합니다.
s('Ντανιλ')->swapCase(); // 'ΤΑΝΙΛ'
Windows-1252(Word 문서에서 일반적으로 사용됨)의 둥근 따옴표, 줄임표 문자 및 대시가 있는 문자열을 해당 ASCII 문자로 대체하여 반환합니다.
s('“알겠습니다…”')->tidy(); // '"알겠어요..."'
각 단어의 첫 글자를 대문자로 하여 잘린 문자열을 반환합니다. 또한 배열 $ignore를 허용하여 대문자로 표시되지 않는 단어를 나열할 수 있습니다.
$ignore = ['at', 'by', 'for', 'in', 'of', 'on', 'out', 'to', 'the'];s('나는 텔레비전 보는 것을 좋아합니다.' )->titleize($ignore);// '나는 텔레비전 보는 것을 좋아합니다'
문자열의 ASCII 버전을 반환합니다. 비ASCII 문자 집합은 가장 가까운 ASCII 문자로 대체되고 나머지는 기본적으로 제거됩니다. 소스 문자열의 언어 또는 로케일은 언어별 음역을 위해 en, en_GB 또는 en-GB 형식으로 제공될 수 있습니다. 예를 들어, "de"를 전달하면 "äöü"가 다른 언어에서처럼 "aou"가 아닌 "aeoeue"로 매핑됩니다.
s('fòôbàř')->toAscii(); // 'foobar's('äöü')->toAscii(); // 'aou's('äöü')->toAscii('de'); // '에오에'
주어진 논리적 문자열 값의 부울 표현을 반환합니다. 예를 들어 'true', '1', 'on' 및 'yes'는 true를 반환합니다. 'false', '0', 'off' 및 'no'는 false를 반환합니다. 모든 경우에 대소문자는 무시됩니다. 다른 숫자 문자열의 경우 해당 기호에 따라 반환 값이 결정됩니다. 또한 공백만으로 구성된 빈 문자열은 false를 반환합니다. 다른 모든 문자열의 경우 반환 값은 부울 캐스트의 결과입니다.
s('OFF')->toBoolean(); // 거짓
문자열의 모든 문자를 소문자로 변환합니다. PHP의 mb_strtolower()에 대한 별칭입니다.
s('FÒÔBÀŘ')->toLowerCase(); // '포바르'
$tabLength에 정의된 대로 문자열의 각 탭을 일정 개수의 공백으로 변환합니다. 기본적으로 각 탭은 4개의 연속 공백으로 변환됩니다.
s(' String speech = "안녕하세요"')->toSpaces(); // ' 문자열 음성 = "안녕하세요"'
$tabLength로 정의된 연속된 공백 수의 각 발생을 탭으로 변환합니다. 기본적으로 연속된 4개의 공백은 각각 탭으로 변환됩니다.
s(' fòô bàř')->toTabs();// ' fòô bàř'
문자열에 있는 각 단어의 첫 번째 문자를 대문자로 변환합니다.
s('fòô bàř')->toTitleCase(); // '푸 바르'
문자열의 모든 문자를 대문자로 변환합니다. PHP의 mb_strtoupper()에 대한 별칭입니다.
s('fòôbàř')->toUpperCase(); // 'FÒÔBÀŘ'
문자열의 시작과 끝에서 공백이 제거된 문자열을 반환합니다. 유니코드 공백 제거를 지원합니다. 기본값 대신 제거할 선택적 문자열을 허용합니다.
s(' fòôbàř ')->trim(); // '포바르'
문자열 시작 부분에서 공백이 제거된 문자열을 반환합니다. 유니코드 공백 제거를 지원합니다. 기본값 대신 제거할 선택적 문자열을 허용합니다.
s(' fòôbàř ')->trimLeft(); // '포바르'
문자열 끝에서 공백이 제거된 문자열을 반환합니다. 유니코드 공백 제거를 지원합니다. 기본값 대신 제거할 선택적 문자열을 허용합니다.
s(' fòôbàř ')->trimRight(); // '포바르'
문자열을 지정된 길이로 자릅니다. $substring이 제공되고 잘림이 발생하면 원하는 길이를 초과하지 않고 부분 문자열을 추가할 수 있도록 문자열이 더 잘립니다.
s('오늘 계획은 무엇입니까?')->truncate(19, '...'); // '당신의 부탁은 무엇입니까...'
밑줄로 구분된 잘린 문자열과 소문자를 반환합니다. 밑줄은 대문자(문자열의 첫 번째 문자 제외) 앞에 삽입되고 공백 및 대시 대신 삽입됩니다.
s('TestUCase')->underscored(); // '테스트_u_케이스'
제공된 문자열의 UpperCamelCase 버전을 반환합니다. 주변 공백을 자르고 숫자, 공백, 대시 및 밑줄 뒤의 문자를 대문자로 바꾸고 공백, 대시, 밑줄을 제거합니다.
s('Upper Camel-Case')->upperCamelize(); // 'UpperCamelCase'
제공된 문자열의 첫 번째 문자를 대문자로 변환합니다.
s('σ foo')->upperCaseFirst(); // 'Σ foo'
다음은 Stringy를 확장하는 라이브러리 목록입니다.
SliceableStringy: PHP의 Python과 유사한 문자열 조각
SubStringy: 고급 하위 문자열 방법
프로젝트 디렉토리에서 phpunit
사용하여 테스트를 실행할 수 있습니다.
MIT 라이선스에 따라 출시되었습니다. 자세한 내용은 LICENSE.txt
참조하세요.