텍스트(Text) 헬퍼
텍스트(Text) 헬퍼 파일에는 텍스트 작업을 지원하는 함수가 포함되어 있습니다.
헬퍼 로드
이 헬퍼는 다음 코드를 사용하여 로드합니다:
<?php
helper('text');
사용 가능한 함수
다음 함수를 사용할 수 있습니다:
- random_string([$type = 'alnum'[, $len = 8]])
- 매개변수:
$type (
string) – 무작위화 유형$len (
int) – 출력 문자열 길이
- 반환:
무작위 문자열
- 반환 형식:
string
지정한 유형과 길이에 따라 무작위 문자열을 생성합니다. 비밀번호를 만들거나 무작위 해시를 생성하는 데 유용합니다.
첫 번째 매개변수는 문자열 유형을 지정하고, 두 번째 매개변수는 길이를 지정합니다. 다음 선택지를 사용할 수 있습니다:
alpha: 소문자와 대문자만 포함된 문자열.
alnum: 소문자, 대문자, 숫자가 포함된 영숫자 문자열.
numeric: 숫자 문자열.
nozero: 0이 포함되지 않은 숫자 문자열.
crypto:
random_bytes()를 기반으로 한 무작위 문자열.
참고
crypto를 사용할 경우 두 번째 매개변수에 짝수를 설정해야 합니다. v4.2.2부터는 홀수를 설정하면
InvalidArgumentException이 발생합니다.참고
v4.3.3부터 alpha, alnum, nozero는
random_byte()를 사용하고, numeric은random_int()를 사용합니다. 이전 버전에서는 암호학적으로 안전하지 않은str_shuffle()을 사용했습니다.사용 예:
<?php echo random_string('alnum', 16);
- increment_string($str[, $separator = '_'[, $first = 1]])
- 매개변수:
$str (
string) – 입력 문자열$separator (
string) – 중복 번호를 추가할 때 사용할 구분자$first (
int) – 시작 번호
- 반환:
증가된 문자열
- 반환 형식:
string
문자열에 번호를 추가하거나 번호를 증가시켜 문자열을 증분합니다. 고유한 제목이나 슬러그를 가진 파일의 “복사본”을 만들거나 데이터베이스 콘텐츠를 복제하는 데 유용합니다.
사용 예:
<?php echo increment_string('file', '_'); // "file_1" echo increment_string('file', '-', 2); // "file-2" echo increment_string('file_4'); // "file_5"
- alternator($args)
- 매개변수:
$args (
mixed) – 가변 인수
- 반환:
교대로 반환되는 문자열
- 반환 형식:
mixed
루프를 순환할 때 두 개 이상의 항목을 교대로 사용할 수 있습니다. 예:
<?php for ($i = 0; $i < 10; $i++) { echo alternator('string one', 'string two'); }
원하는 만큼 매개변수를 추가할 수 있으며, 루프를 반복할 때마다 다음 항목이 반환됩니다.
<?php for ($i = 0; $i < 10; $i++) { echo alternator('one', 'two', 'three', 'four', 'five'); }
참고
이 함수를 여러 번 별도로 호출하려면 단순히 인수 없이 함수를 호출하여 초기화하면 됩니다.
- reduce_double_slashes($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
슬래시가 정규화된 문자열
- 반환 형식:
string
URL 프로토콜 접두사(예: http://)에 있는 것을 제외하고 문자열의 이중 슬래시를 단일 슬래시로 변환합니다.
예:
<?php $string = 'http://example.com//index.php'; echo reduce_double_slashes($string); // results in "http://example.com/index.php"
- strip_slashes($data)
- 매개변수:
$data (
mixed) – 입력 문자열 또는 문자열 배열
- 반환:
슬래시가 제거된 문자열
- 반환 형식:
mixed
문자열 배열에서 모든 슬래시를 제거합니다.
예:
<?php $str = [ 'question' => "Is your name O\\'reilly?", 'answer' => "No, my name is O\\'connor.", ]; $str = strip_slashes($str);
위 코드는 다음 배열을 반환합니다:
<?php [ 'question' => "Is your name O'reilly?", 'answer' => "No, my name is O'connor.", ];
참고
역사적인 이유로 이 함수는 문자열 입력도 받아 처리합니다. 하지만 이 경우
stripslashes()의 별칭에 불과합니다.
- reduce_multiples($str[, $character = ', '[, $trim = false]])
- 매개변수:
$str (
string) – 검색할 텍스트$character (
string) – 줄일 문자$trim (
bool) – 지정된 문자도 트림할지 여부
- 반환:
줄여진 문자열
- 반환 형식:
string
연속으로 반복되는 특정 문자의 여러 인스턴스를 줄입니다. 예:
<?php $string = 'Fred, Bill,, Joe, Jimmy'; $string = reduce_multiples($string); // results in "Fred, Bill, Joe, Jimmy"
세 번째 매개변수를
true로 설정하면 문자열의 처음과 끝에 있는 해당 문자가 제거됩니다. 예:<?php $string = ',Fred, Bill,, Joe, Jimmy,'; $string = reduce_multiples($string, ',', true); // results in "Fred, Bill, Joe, Jimmy"
- quotes_to_entities($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
따옴표가 HTML 엔티티로 변환된 문자열
- 반환 형식:
string
문자열의 작은따옴표와 큰따옴표를 해당 HTML 엔티티로 변환합니다. 예:
<?php $string = "Joe's \"dinner\""; $string = quotes_to_entities($string); // results in "Joe's "dinner""
- strip_quotes($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
따옴표가 제거된 문자열
- 반환 형식:
string
문자열에서 작은따옴표와 큰따옴표를 제거합니다. 예:
<?php $string = "Joe's \"dinner\""; $string = strip_quotes($string); // results in "Joes dinner"
- word_limiter($str[, $limit = 100[, $endChar = '…']])
- 매개변수:
$str (
string) – 입력 문자열$limit (
int) – 제한$endChar (
string) – 끝 문자 (일반적으로 줄임표)
- 반환:
단어 수가 제한된 문자열
- 반환 형식:
string
지정된 단어 수로 문자열을 자릅니다. 예:
<?php $string = 'Here is a nice text string consisting of eleven words.'; $string = word_limiter($string, 4); // Returns: Here is a nice
세 번째 매개변수는 문자열에 추가되는 선택적 접미사입니다. 기본적으로 줄임표가 추가됩니다.
- character_limiter($string[, $limit = 500[, $endChar = '…']])
- 매개변수:
$string (
string) – 입력 문자열$limit (
int) – 문자 수$endChar (
string) – 끝 문자 (일반적으로 줄임표)
- 반환:
문자 수가 제한된 문자열
- 반환 형식:
string
지정된 문자 수로 문자열을 자릅니다. 단어의 무결성을 유지하므로 실제 문자 수는 지정한 것보다 약간 많거나 적을 수 있습니다.
예:
<?php $string = 'Here is a nice text string consisting of eleven words.'; $string = character_limiter($string, 20); // Returns: Here is a nice text string
세 번째 매개변수는 문자열에 추가되는 선택적 접미사로, 선언하지 않으면 헬퍼는 줄임표를 사용합니다.
참고
정확한 문자 수로 자르려면 아래의
ellipsize()함수를 참조하십시오.
- ascii_to_entities($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
ASCII 값이 엔티티로 변환된 문자열
- 반환 형식:
string
높은 ASCII 값 및 웹 페이지에서 사용할 때 문제를 일으킬 수 있는 MS Word 문자를 포함하여 ASCII 값을 문자 엔티티로 변환합니다. 이를 통해 브라우저 설정에 관계없이 일관되게 표시하거나 데이터베이스에 안정적으로 저장할 수 있습니다. 서버에서 지원하는 문자 집합에 어느 정도 의존하므로 모든 경우에 100% 신뢰할 수는 없지만, 대부분의 경우 정상 범위 밖의 문자(예: 악센트가 있는 문자)를 올바르게 식별합니다.
예:
<?php $string = ascii_to_entities($string);
- entities_to_ascii($str[, $all = true])
- 매개변수:
$str (
string) – 입력 문자열$all (
bool) – 안전하지 않은 엔티티도 변환할지 여부
- 반환:
HTML 엔티티가 ASCII 문자로 변환된 문자열
- 반환 형식:
string
이 함수는
ascii_to_entities()의 반대 작업을 수행합니다. 문자 엔티티를 다시 ASCII로 변환합니다.
- convert_accented_characters($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
악센트 문자가 변환된 문자열
- 반환 형식:
string
높은 ASCII 문자를 낮은 ASCII 동등 문자로 음역합니다. URL과 같이 표준 ASCII 문자만 안전하게 사용할 수 있는 곳에서 비영어 문자를 사용해야 할 때 유용합니다.
예:
<?php $string = convert_accented_characters($string);
참고
이 함수는 음역을 위한 변환 배열을 정의하기 위해 app/Config/ForeignCharacters.php 보조 설정 파일을 사용합니다.
- word_censor($str, $censored[, $replacement = ''])
- 매개변수:
$str (
string) – 입력 문자열$censored (
array) – 검열할 금지어 목록$replacement (
string) – 금지어를 대체할 문자열
- 반환:
검열된 문자열
- 반환 형식:
string
텍스트 문자열 내의 단어를 검열할 수 있습니다. 첫 번째 매개변수는 원본 문자열을 포함합니다. 두 번째 매개변수는 허용하지 않는 단어 배열을 포함합니다. 세 번째 (선택적) 매개변수는 단어의 대체 값을 포함할 수 있습니다. 지정하지 않으면 파운드 기호로 대체됩니다: ####.
예:
<?php $disallowed = ['darn', 'shucks', 'golly', 'phooey']; $string = word_censor($string, $disallowed, 'Beep!');
- highlight_code($str)
- 매개변수:
$str (
string) – 입력 문자열
- 반환:
HTML로 코드가 강조 표시된 문자열
- 반환 형식:
string
코드 문자열(PHP, HTML 등)에 색상을 입힙니다. 예:
<?php $string = highlight_code($string);
이 함수는 PHP의
highlight_string()함수를 사용하므로 사용되는 색상은 php.ini 파일에 지정된 색상입니다.
- highlight_phrase($str, $phrase[, $tag_open = '<mark>'[, $tag_close = '</mark>']])
- 매개변수:
$str (
string) – 입력 문자열$phrase (
string) – 강조 표시할 구문$tag_open (
string) – 강조 표시에 사용되는 여는 태그$tag_close (
string) – 강조 표시의 닫는 태그
- 반환:
HTML로 구문이 강조 표시된 문자열
- 반환 형식:
string
텍스트 문자열 내의 구문을 강조 표시합니다. 첫 번째 매개변수는 원본 문자열을 포함하고, 두 번째 매개변수는 강조 표시할 구문을 포함합니다. 세 번째 및 네 번째 매개변수는 구문을 감쌀 HTML 여는/닫는 태그를 포함합니다.
예:
<?php $string = 'Here is a nice text string about nothing in particular.'; echo highlight_phrase($string, 'nice text', '<span style="color:#990000;">', '</span>');
위 코드는 다음을 출력합니다:
Here is a <span style="color:#990000;">nice text</span> string about nothing in particular.
참고
이 함수는 기본적으로
<strong>태그를 사용했습니다. 구형 브라우저는 새로운 HTML5 mark 태그를 지원하지 않을 수 있으므로 그러한 브라우저를 지원해야 하는 경우 스타일시트에 다음 CSS 코드를 삽입하는 것이 좋습니다:mark { background: #ff0; color: #000; };
- word_wrap($str[, $charlim = 76])
- 매개변수:
$str (
string) – 입력 문자열$charlim (
int) – 문자 제한
- 반환:
줄 바꿈이 적용된 문자열
- 반환 형식:
string
완전한 단어를 유지하면서 지정된 문자 수에서 텍스트를 줄 바꿈합니다.
예:
<?php $string = 'Here is a simple string of text that will help us demonstrate this function.'; echo word_wrap($string, 25); /* * Would produce: * Here is a simple string * of text that will help us * demonstrate this * function. * * Excessively long words will be split, but URLs will not be. */
- ellipsize($str, $max_length[, $position = 1[, $ellipsis = '…']])
- 매개변수:
$str (
string) – 입력 문자열$max_length (
int) – 문자열 길이 제한$position (
mixed) – 분할 위치 (정수 또는 부동 소수점)$ellipsis (
string) – 줄임표 문자로 사용할 값
- 반환:
줄임표가 삽입된 문자열
- 반환 형식:
string
이 함수는 문자열에서 태그를 제거하고, 정의된 최대 길이에서 분할하여 줄임표를 삽입합니다.
첫 번째 매개변수는 줄임표를 삽입할 문자열이고, 두 번째는 최종 문자열의 문자 수입니다. 세 번째 매개변수는 줄임표가 표시될 위치로 0에서 1 사이의 값이며, 왼쪽에서 오른쪽 방향입니다. 예를 들어 값이 1이면 문자열 오른쪽에, .5이면 중간에, 0이면 왼쪽에 줄임표가 위치합니다.
선택적 네 번째 매개변수는 줄임표 종류입니다. 기본적으로 …이 삽입됩니다.
예:
<?php $str = 'this_string_is_entirely_too_long_and_might_break_my_design.jpg'; echo ellipsize($str, 32, .5);
다음을 출력합니다:
this_string_is_e…ak_my_design.jpg
- excerpt($text, $phrase = false, $radius = 100, $ellipsis = '...')
- 매개변수:
$text (
string) – 발췌할 텍스트$phrase (
string) – 주변 텍스트를 추출할 구문 또는 단어$radius (
int) – $phrase 앞뒤의 문자 수$ellipsis (
string) – 줄임표 문자로 사용할 값
- 반환:
발췌문.
- 반환 형식:
string
이 함수는 중심 $phrase 앞뒤로 $radius 개수의 문자를 추출하고 앞뒤에 줄임표를 붙입니다.
첫 번째 매개변수는 발췌할 텍스트이고, 두 번째는 앞뒤로 셀 중심 단어 또는 구문입니다. 세 번째 매개변수는 중심 구문 앞뒤로 셀 문자 수입니다. 구문을 전달하지 않으면 발췌문은 처음 $radius 개의 문자를 포함하고 끝에 줄임표가 붙습니다.
예:
<?php $text = 'Ut vel faucibus odio. Quisque quis congue libero. Etiam gravida eros lorem, eget porttitor augue dignissim tincidunt. In eget risus eget mauris faucibus molestie vitae ultricies odio. Vestibulum id ultricies diam. Curabitur non mauris lectus. Phasellus eu sodales sem. Integer dictum purus ac enim hendrerit gravida. Donec ac magna vel nunc tincidunt molestie sed vitae nisl. Cras sed auctor mauris, non dictum tortor. Nulla vel scelerisque arcu. Cras ac ipsum sit amet augue laoreet laoreet. Aenean a risus lacus. Sed ut tortor diam.'; echo excerpt($text, 'Donec');
다음을 출력합니다:
... non mauris lectus. Phasellus eu sodales sem. Integer dictum purus ac enim hendrerit gravida. Donec ac magna vel nunc tincidunt molestie sed vitae nisl. Cras sed auctor mauris, non dictum tortor. ...