PHP의 문자열 처리 능력은 매우 강력하고 방법도 다양하지만 때로는 가장 간단하고 이상적인 솔루션을 선택해야 할 때도 있습니다. 이 글에서는 PHP의 일반적인 문자열 처리 사례 10가지를 나열하고 그에 상응하는 가장 이상적인 처리 방법을 제공합니다.
1. 문자열 길이 결정
이것은 기사에서 가장 분명한 예입니다. 문자열의 길이는 어떻게 결정됩니까? 여기서 언급해야 할 것은 strlen() 함수입니다:
$text = "sunny day"; $count = strlen($text); // $count = 9
2.
뉴스 웹사이트에서는 일반적으로 200단어 정도의 단락을 가로채서 단락 끝에 줄임표를 추가하여 요약을 만듭니다. 공간 문제로 인해 여기서는 40자 제한만 설명합니다.
$article = "속보: 아이러니하게도 인간이 개를 물었습니다.";
$summary = substr_replace($article, "...", 40);
$summary = "속보: 정말 아이러니한 소식이 있습니다..."
3. 문자열의 문자 수 및 단어 수
기사의 총 단어 수를 요약하는 블로그나 뉴스 기사를 자주 보거나 특정 단어 수 범위 내에서 제출 요구 사항을 자주 볼 수 있다고 생각합니다. str_word_count() 함수를 사용하여 기사의 총 단어 수를 계산할 수 있습니다.
$article = "속보: 아이러니하게도 인간이 개를 물었습니다.";
$wordCount = str_word_count($article); // $wordCount = 8
몇 개의 댓글 등 기여자가 사용하는 공간을 더 엄격하게 제어해야 하는 경우가 있습니다. 배열의 경우 count_chars() 함수를 사용하세요.
4. CSV 파일 분석
데이터는 일반적으로 쉼표로 구분된 형식(예: 알려진 CSV 파일)으로 파일에 저장됩니다. 쉼표 또는 이와 유사한 미리 정의된 기호를 사용하여 각 문자열 열을 별도의 행으로 그룹화합니다. PHP 스크립트를 만들어 이 데이터를 가져오거나 필요한 것을 구문 분석하는 경우가 많습니다. , 가장 일반적인 방법은 fgets() 및Explorer() 함수의 조합을 사용하여 파일을 읽고 구문 분석하는 것이지만 가장 쉬운 방법은 함수를 사용하여 문제를 해결하는 것이지만 이는 PHP의 문자열 처리의 일부가 아닙니다. 라이브러리: fgetcsv() 함수 fopen() 및 fgetcsv() 함수를 사용하면 이 파일을 쉽게 구문 분석하고 각 연락처의 이름을 검색할 수 있습니다.
$fh = fopen("contacts.csv", "r");
while($line = fgetcsv($fh, 1000, ","))
{ echo "연락처: {$line[1]}" }
5. 문자열 배열로 변환
때때로 CSV 파일을 생성해야 할 수도 있으며 동시에 이러한 파일을 읽으려면 쉼표로 구분된 문자열을 데이터가 원래 데이터베이스에서 검색된 경우 현재로서는 implode() 함수를 사용하여 다음 문자열을 배열로 변환할 수 있습니다.
$ csv = implode(",", $record);
6. URL을 하이퍼링크로 변환
현재 WYSIWYG 편집기에서 제공하는 많은 도구 모음을 사용하면 하이퍼링크를 포함하여 텍스트를 표시할 수 있습니다. 콘텐츠가 페이지에 렌더링될 때 추가 오류 없이 이 프로세스를 쉽게 자동화할 수 있습니다. 하이퍼링크 URL로 변환하려면 preg_replace() 함수를 사용하면 정규식에 따라 문자열을 검색하고 URL 구조:
$url = "LanFengye, LLC (http://www.phpfensi.com)"
$url = preg_replace("/http://([ A-z0-9./-]+)/", "$0" , $url);
// $url = "LanFengye, LLC (http://www.phpfensi.com)"
7. 문자열에서 HTML 태그 제거
웹 개발자의 주요 업무 중 하나는 사용자 입력에 위험한 문자가 포함되어 있지 않은지 확인하는 것입니다. PHP 언어에는 많은 보안 기능이 포함되어 있습니다. 이러한 기능은 필터 확장을 포함하여 데이터를 필터링하는 데 도움이 됩니다. 예를 들어 사용자가 이 기능을 수행하기 위해 몇 가지 기본 HTML 문을 갖도록 허용할 수 있습니다. 기본적으로 다음과 같은 검사 기능을 사용할 수 있습니다. 문자열에서 모든 HTML 태그를 제거하는 것이지만, 지정한 기본값 또는 태그를 재정의할 수도 있습니다. 예를 들어 다음 예에서는 제거할 수 있습니다. 모든 태그:
$text = Strip_tags($input, "");
8. 두 문자열 비교
두 문자열을 비교하여 동일한지 확인합니다. 예를 들어, 사용자의 첫 번째 비밀번호가 첫 번째 비밀번호와 동일한지 확인합니다. 두 번 입력한 비밀번호가 동일한지 여부는 substr_compare() 함수를 사용하여 쉽게 확인할 수 있습니다.
$pswd = "secret"
$pswd2 = "비밀";
if (!strcmp($pswd, $pswd2))
{ echo "비밀번호가 동일하지 않습니다!";
}
두 문자열이 대소문자를 구분하지 않는지 판단하려면 strcasecmp() 함수를 사용하면 됩니다.
9. 개행 문자 변환
이 기사에서는 URL을 하이퍼링크로 쉽게 변환하는 방법을 소개했습니다. 이제 개행 문자를 하이퍼링크로 변환하는 데 도움이 되는 nl2br() 함수를 소개합니다. .
$comment = nl2br($comment);
10. 자동 단어 줄 바꿈 적용
자동 줄 바꿈을 적용하려면 다음에서 이 기능을 사용할 수 있습니다. PHP: wordwrap():
$speech = "427년 전에 우리 아버지들은
이 대륙 위에 Liberty에서 잉태된 새로운 나라
모든 사람은 평등하게 창조되었다는 제안에 헌신합니다."; echo wordwrap($speech, 30); 위 코드를 실행하면 결과는 다음과 같습니다. 42년 전 우리 아버지들은 자유를 바탕으로 모든 사람이 평등하게 창조되었다는 제안에 헌신한 새로운 국가를 이 대륙에 탄생시켰습니다. addcslashes — 문자열의 일부 문자에 대해 백슬래시 이스케이프 문자 추가addslashes — 지정된 방식으로 문자열의 이스케이프 문자bin2hex — 이진 데이터를 16진수 표현으로 변환chop — 별칭 rtrim()의 함수 chr — 문자의 ASCII 코드를 반환합니다. chunk_split — 문자열을 특정 문자 길이에 따라 작은 덩어리로 나눕니다. Convert_cyr_string — 키릴 문자를 다른 문자로 변환 convert_uudecode — 문자열 해독 convert_uuencode — 문자열 암호화 count_chars — 문자열의 문자 반환 사용 정보 crc32 — 문자열의 crc32 다항식 계산crypt — 단방향 해시 암호화 기능echo — 일부 콘텐츠를 표시하는 데 사용explode — 문자열을 배열로 변환 구분 기호 사용 fprintf — 필요에 따라 데이터를 반환하고 문서 스트림에 직접 씁니다.get_html_translation_table — 변환할 수 있는 HTML 엔터티 반환hebrev — 히브리어 변환 -인코딩된 문자열을 시각적 텍스트로 변환 hebrevc — 히브리어로 인코딩된 문자열을 시각적 텍스트로 변환 html_entity_decode — htmlentities () 함수의 역함수, HTML 엔터티를 문자로 변환 htmlentities — 문자열의 일부 문자를 HTML 엔터티로 변환 htmlspecialchars_decode —htmlspecialchars() 함수의 역함수, HTML 엔터티를 문자로 변환htmlspecialchars — 문자열의 일부 문자를 다음으로 변환 HTML 엔터티 implode — 특정 구분 기호를 사용하여 배열을 문자열로 변환 join — 배열을 implode() 함수의 별칭인 문자열로 변환 levenshtein — 계산 두 단어의 차이 localeconv — 숫자 관련 형식 정의 가져오기 ltrim — 문자열의 왼쪽을 제거합니다. 옆 공백 또는 지정된 문자 md5_file — 다음을 사용하여 파일을 암호화합니다. MD5 알고리즘 md5 — MD5 알고리즘으로 문자열 암호화 metaphone — 문자열 결정 money_format에 대한 발음 규칙 — 인수에 따라 형식이 지정된 숫자 출력 nl_langinfo — 언어 및 로캘 정보 쿼리 nl2br — 문자열에서 개행 문자 "n"을 ""similar_text — 두 문자열을 비교하고 시스템에서 고려한 유사한 문자의 수를 반환합니다. soundex — 문자열의 발음 규칙을 결정합니다
sprintf — 필요에 따라 데이터를 반환하지만 출력하지 않습니다. sscanf — 문자열 형식을 지정할 수 있습니다. str_ireplace — str_replace() 함수와 같은 문자열을 일치하고 바꾸지만 대소문자를 구분하지 않습니다. str_pad — 문자열 양쪽에 패딩 수행str_repeat — 문자열 조합 반복 str_replace — 문자열 일치 및 바꾸기 str_rot13 — ROT13으로 문자열 암호화 str_shuffle — 문자열의 문자를 무작위로 정렬 str_split — 문자 간격에 따라 문자열을 배열로 분할
str_word_count — 문자열에서 영어 단어 정보 가져오기
strcasecmp — 대소문자를 구분하지 않고 문자열 비교
strchr — 문자열의 일부 반환 strstr( ) 함수 별칭
strcmp — 문자열 크기 비교
strcoll — 로컬 설정에 따라 문자열 크기 비교
strcspn — 일치하지 않는 연속 문자의 길이를 반환 값
strip_tags — 문자열에서 HTML 및 PHP 코드 제거
stripcslashes — addcslashes() 함수로 처리된 문자열을 이스케이프 해제합니다.
stripos — 찾기 및 첫 번째 일치 위치를 반환합니다. 일치하는 것은 대소문자입니다. -insensitive
stripslashes — 처리된 문자열을 이스케이프하기 위해 addlashes() 함수를 이스케이프 방지
stristr — 비교 부분을 통해 문자열을 반환하며 비교는 대소문자를 구분하지 않습니다
strlen — 문자열의 인코딩된 길이 가져오기
strnatcasecmp — 자연 정렬을 사용하여 문자열 비교, 대소문자 구분 없음
strnatcmp — 자연 정렬을 사용하여 문자열 비교
strncasecmp — 비교 문자열의 처음 N자, 대소문자 구분
strncmp — 문자열 비교 처음 N자의 크기 비교
strpbrk — 비교를 통해 문자열의 일부 반환
strpos — 첫 번째 일치 위치를 찾아 반환
strrchr — 통과 문자열의 일부를 반환하기 위해 뒤에서 앞으로 비교
strrev — 문자열의 모든 문자를 역순으로 정렬
strripos — 뒤에서 앞으로 검색하여 첫 번째 일치 위치를 반환합니다. 일치는 대소문자를 구분하지 않습니다.
strrpos – 뒤에서 앞으로 검색하고 첫 번째 일치 위치를 반환합니다
strspn — 연속된 문자의 길이 값을 일치시키고 반환합니다.
strstr — 비교를 통해 문자열의 일부를 반환합니다.
strtok — 지정된 문자 수로 문자열을 나눕니다.
strtolower — 문자열을 소문자로 변환
strtoupper – 문자열을 대문자로 변환
strtr — 문자열 비교 및 바꾸기
substr_compare — 잘린 문자열 비교
substr_count — 문자열에서 특정 문자 세그먼트 계산 발생 횟수
substr_replace — 문자열에서 일부 문자 바꾸기
substr — 문자열 자르기
trim — 문자열 양쪽에서 공백이나 지정된 문자를 제거합니다. 문자
ucfirst — 주어진 문자열의 첫 글자를 대문자로 변환합니다.
ucwords — 문자열에 있는 각 영어 단어의 첫 글자를 변환합니다. 주어진 문자열을 대문자로
vfprintf — 필요에 따라 데이터를 반환하고 문서 스트림에 직접 씁니다.
vprintf — 필요에 따라 데이터를 표시
vsprintf — 필요에 따라 데이터를 반환하지만 출력 아님
wordwrap — 특정 문자 길이에 따라