テキストと日時の操作 (1/5)
作成:2010-12-06 08:41
更新:2010-12-06 08:41
更新:2010-12-06 08:41
■テキストを扱う主な関数
プログラムを作成するとき、意外に重要なのが「さまざまな値を操作する方法」です。これがわからない為にあれこれ悩むことが多いものです。まずは、テキストを操作する主な機能から紹介していきましょう。
・テキストの長さを得る
・テキストの位置を調べる
1つ目の引数には、調べる対処となるテキストを、2つ目には検索したいテキストをそれぞれ指定します。この2つは、必須です。3つ目には、何文字目から調べるかを数字で指定します。4つ目は、テキストのエンコード方式を指定します。
まぁ、半角英数字の検索(strpos)は、最初の2つだけで呼び出せば普通はOKでしょう。が、日本語などを検索させるmb_strposの場合、4つ全部を指定するのが基本と考えておきましょう。特に4つ目のエンコードを正しく指定していないと、うまく探し出せないことがあります。
返値は、何文字目にあったか(一番最初はゼロになります)を示す整数になります。見つからなかった場合にはfalseが返されます。
・テキストの一部を取り出す
1つ目の引数には取り出す元のテキスト、2つ目、3つ目に取り出す位置と文字数(長さ)をそれぞれ指定します。位置は、一番最初がゼロから始まります。また日本語などの場合、mb_substrでは必ずエンコードを指定するようにしましょう。
・テキストを置換する
この関数は、3つ目のテキストに含まれている検索文字を、すべて置換文字に置き換えたものを返します。
・テキストの長さを得る
$変数 = strlen( テキスト );テキストが何文字かを調べるものです。strlenは、一般的な英語のテキスト(半角英数字)の文字数を、mb_strlenは日本語など1バイト文字でないものの文字数を調べて、整数の値で返します。
$変数 = mb_strlen( テキスト );
・テキストの位置を調べる
$変数 = strpos( 対象テキスト , 検索文字 , 開始位置 );あるテキストの中に、検索したいテキストがある場所を調べるものです。これも、1バイト文字用のstrposと、それ以外の文字用のmb_strposの2種類が用意されています。
$変数 = mb_strpos( 対象テキスト , 検索文字 , 開始位置 , エンコード );
1つ目の引数には、調べる対処となるテキストを、2つ目には検索したいテキストをそれぞれ指定します。この2つは、必須です。3つ目には、何文字目から調べるかを数字で指定します。4つ目は、テキストのエンコード方式を指定します。
まぁ、半角英数字の検索(strpos)は、最初の2つだけで呼び出せば普通はOKでしょう。が、日本語などを検索させるmb_strposの場合、4つ全部を指定するのが基本と考えておきましょう。特に4つ目のエンコードを正しく指定していないと、うまく探し出せないことがあります。
返値は、何文字目にあったか(一番最初はゼロになります)を示す整数になります。見つからなかった場合にはfalseが返されます。
・テキストの一部を取り出す
$変数 = substr( テキスト , 開始位置 , 長さ );あるテキストの中から指定した部分のテキストを返すものです。例えば"Hello PHP World"といったテキストの中から"PHP"だけ取り出す、というようなときに使います。
$変数 = mb_substr( テキスト , 開始位置 , 長さ , エンコード );
1つ目の引数には取り出す元のテキスト、2つ目、3つ目に取り出す位置と文字数(長さ)をそれぞれ指定します。位置は、一番最初がゼロから始まります。また日本語などの場合、mb_substrでは必ずエンコードを指定するようにしましょう。
・テキストを置換する
$変数 = str_replace( 検索文字 , 置換文字 , テキスト );テキストの置換は、str_replaceという便利な関数が用意されています。検索文字と置換する文字、そして対象となるテキストを指定してやるだけで、置換済みのテキストが返されます。これは、日本語用の関数というのは用意されていません。すべてこれ1つで行います。
この関数は、3つ目のテキストに含まれている検索文字を、すべて置換文字に置き換えたものを返します。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
※strlenの例 $n = strlen('hello'); // $nは5になる ※mb_strposの例 $n = strpos("Hello","e",0,"UTF-8"); // $nは1になる ※substrの例 $s = substr("Hello",2,2); // $sは"ll"になる ※str_replaceの例 $s = str_replace("java","PHP","Hello java!"; // $sは"Hello PHP!"になる
※関連コンテンツ