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

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

黄舟
リリース: 2023-03-17 07:00:02
オリジナル
1727 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート