>백엔드 개발 >PHP 튜토리얼 >문자열을 더 작은 문자열(태그)로 분할하는 PHP 함수 strtok()

문자열을 더 작은 문자열(태그)로 분할하는 PHP 함수 strtok()

黄舟
黄舟원래의
2017-11-06 10:34:071731검색

단어별로 string 분할:

아래 예에서는 strtok() 함수에 대한 첫 번째 호출에서 string 매개 변수만 사용했다는 점에 유의하세요. 첫 번째 호출 이후 함수는 현재 문자열에서 분할 매개변수가 어디에 있는지 알기 때문에 분할 매개변수만 필요합니다. 새 문자열을 분할하려면 문자열 매개변수를 사용하여 strtok()를 다시 호출하세요.

<?php
$string = "Hello world. Beautiful day today.";
$token = strtok($string, " ");

while ($token != false)
{
echo "$token<br>";
$token = strtok(" ");
} 
?>

Definition and Usage

strtok() 함수는 문자열을 더 작은 문자열(토큰)로 분할합니다.

Syntax

strtok(string,split)
Parameters Description
string 필수입니다. 분할할 문자열을 지정합니다.
split 필수입니다. 하나 이상의 구분 문자를 지정합니다.

기술 세부 정보

반환 값: 문자열 토큰을 반환합니다.
PHP 버전: 4+

장점은 다음과 같습니다.

1 한 번에 여러 구분 기호를 정의할 수 있습니다. 함수가 실행되면 전체 구분 기호가 아닌 단일 구분 기호에 따라 절단되는 반면, explode는 전체 구분 기호 문자열에 따라 절단됩니다. 이러한 이유로 폭발은 중국어로 잘릴 수 있지만 strtok은 깨질 수 없고 깨질 것입니다.

2. strtok()과 함께 while 또는 for를 사용하여 이동하는 경우 언제든지 구분 기호를 변경하거나 break를 사용하여 언제든지 절단을 종료할 수 있습니다.

예제 1: 중국어 +explode를 사용하여 절단하는 방법을 보여줍니다.

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$arr = explode("论坛",$string); 
foreach($arr as $v) 
{ 
echo $v."<br />"; 
} 
echo "-------------<br />";

Return:

这是PHP 

版块 
栏目 
H管理员 
会员 
-------------

예제 2: 나중에 WHILE에 "H" 구분 기호가 없다는 점에 유의하세요. 대신 공백을 사용하세요.

$string = "这是PHP论坛 论坛版块 论坛栏目 论坛H管理员 论坛会员"; 
$tok = strtok($string, " H"); //空格+H 
$n=1; 
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" "); //空格 
//if($n>2)break; //可以随时跳出。 
//$n++; 
} 
echo "-------------<br />";

반환:

这是P 
P论坛 
论坛版块 
论坛栏目 
论坛H管理员 
论坛会员 
-------------

예 3: 여러 구분 기호를 보여줍니다.

$string = "This is\tan example\nstring"; 
$tok = strtok($string, " \n\t"); #空格,换行,TAB 
while ($tok !== false) { 
echo "$tok<br />"; 
$tok = strtok(" \n\t"); 
} 
echo "-------------<br />";

반환:

This 
is 
an 
example 
string 
-------------
$string = "abcde 123c4 99sadbc99b5232"; 
$tok = strtok($string, "bc"); 
while ($tok !="") { 
echo "$tok<br />"; 
$tok = strtok("bc"); 
} 
echo "-------------<br />";

반환:

a 
de 123 
4 99sad 
99 
5232 
-------------

예 4: for를 사용하여 순회하는 방법을 보여줍니다.

$line = "leon\tatkinson\tleon@clearink.com"; 
for($token = strtok($line,"\t");$token!="";$token=strtok("\t")) 
{ 
print("token: $token<BR>\n"); 
}

반환:

token: leon 
token: atkinson 
token: leon@clearink.com

위 내용은 문자열을 더 작은 문자열(태그)로 분할하는 PHP 함수 strtok()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.