ホームページ >バックエンド開発 >PHPチュートリアル >文字列をより小さな文字列 (タグ) に分割する PHP 関数 strtok()

文字列をより小さな文字列 (タグ) に分割する PHP 関数 strtok()

黄舟
黄舟オリジナル
2017-11-06 10:34:071733ブラウズ

stringを単語で分割します:

以下の例では、strtok()関数の最初の呼び出しでstringパラメータのみを使用していることに注意してください。最初の呼び出しの後、関数は現在の文字列内の位置を認識しているため、split パラメータのみを必要とします。新しい文字列を分割するには、文字列パラメータを指定して strtok() を再度呼び出します。

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

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

定義と使用法

strtok() 関数は、文字列をより小さな文字列 (トークン) に分割します。

構文

strtok(string,split)
パラメータ 説明
文字列 必須。分割する文字列を指定します。
分割 必須。 1 つ以上の区切り文字を指定します。

技術的な詳細

戻り値: 文字列トークンを返します。
PHP バージョン: 4+

利点は次のとおりです:

1. 複数の区切り文字を一度に定義できます。関数が実行されると、区切り文字全体ではなく単一の区切り文字に従ってカットされますが、explode は区切り文字列全体に従ってカットされます。このため、explode は中国語でカットできますが、strtok はカットできず、文字化けします。

2. strtok() で while または for を使用してトラバースする場合、いつでもセパレータを変更したり、break を使用してカットを終了したりできます。

例 1: 中国語の +explode を使用して

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

をカットする例を示します。 戻り値:

这是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 />";

Returns:

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

Returns:

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"); 
}

Returns:

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

以上が文字列をより小さな文字列 (タグ) に分割する PHP 関数 strtok()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。