PHP는 다양한 문자열 처리 함수를 제공하며, 여기서 strspn () 함수는 하나의 문자열의 문자 길이를 계산하는 데 사용되는데, 여기에는 연속적으로 동일한 문자열이 포함됩니다. 두 줄의 문자 수를 신속하게 결정하는 데 도움이 될 수 있습니다.
strspn () 함수의 기본 구문은 다음과 같습니다.
int strspn(string $str1, string $str2 [, int $start [, int $length]])
함수 매개 변수 설명 :
str1 : 필수, 첫 번째 문자열을 확인해야합니다.
str2 : 필수, 문자와 일치하는 문자열이 포함되어 있습니다.
시작 : 선택 사항, str1에서 확인을 시작할 위치를 지정하면 기본값은 0에서 시작됩니다.
길이 : 선택 사항, 확인할 문자 수를 지정하고 기본값은 str1 길이입니다.
이 함수는 str1에서 시작하는 연속 문자의 str2에 포함 된 문자 수를 반환합니다. STR1의 모든 문자가 STR2에 존재하면 str1의 길이가 반환됩니다.
다음 예제는 strrspn () 함수를 사용하여 문자열의 일치하는 문자 수를 비교하는 방법을 보여줍니다.
$str1 = "Hello, world!";
$str2 = "Hewoi";
$match = strspn($str1, $str2);
echo $match; // 산출 2
이 예에서 $ str1 문자열로 시작하는 두 문자 "h"와 "e"는 모두 $ str2에 포함되므로 2가 반환됩니다.
$ str1의 모든 문자가 $ str2에 표시되는지 여부를 감지하려면 다음 방법을 사용할 수 있습니다.
$str1 = "foobar";
$str2 = "oofrab";
if (strlen($str1) == strspn($str1, $str2)) {
echo "$str1 contains only characters found in $str2";
} else {
echo "$str1 contains characters not found in $str2";
}
이 코드는 $ str1의 문자가 $ str2에 완전히 포함되어 있고 해당 결과를 출력하는지 여부를 결정합니다.
strrspn () 및 substr () 함수를 사용하여 문자열에서 비 alphabetical 문자를 제거 할 수 있습니다. 예제는 다음과 같습니다.
$str = "Hello, world!";
$letters_only = substr($str, strspn($str, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
echo $letters_only; // 산출 "Helloworld"
여기서 문자열에서 첫 번째 비 알파벳 상태의 위치는 strspn ()을 통해 발견 된 다음 substr ()과 가로 채워 문자 부분 만 남겨 둡니다.
strspn () 함수를 사용하여 문자열에서 HTML 태그를 필터링하고 텍스트 내용 만 유지할 수 있습니다.
$str = "<p>This is a <strong>text</strong> with <i>HTML</i> tags</p>";
$text_only = substr($str, strspn($str, " <>&abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
echo $text_only; // 산출 "This is a text with HTML tags"
이 방법은 일반적인 텍스트 문자와 부분 기호를 유지하고 HTML 태그를 제거합니다.
strspn () 함수는 문자열 매칭을 처리하는 PHP의 강력한 도구입니다. 매개 변수와 사용량을 마스터하면 문자열 비교와 같은 다양한 작업을 쉽게 완료 할 수 있습니다. substr () 또는 일반 표현식과 결합하여 strspn ()은 일일 개발에서 문자열 처리 효율을 크게 향상시킬 수 있습니다.