Mr.PHPのブログ

Mr.PHPのブログ

ブログの説明を入力します。

Amebaでブログを始めよう!
echo "テキストを入力:";
$a = trim(fgets(STDIN));
echo mb_strpos($a,'PHP',0,'sjis') . "文字目にPHPがあります。";


テキストの中から検索したいテキストのある場所を調べるには「strpos」という関数を使えばいい。

これも日本語のエンコーディンクに正しく対応してるわけではないので、日本語で正確に使う場合は、「mb_strpos」という関数を使うのが基本だ。

これは、入力したテキストの中から「PHP」というテキストを探して、何文字目にあるかを報告するスクリプト。

適当に「PHP」というテキストを含む文章を書いて実行してみよう。

strposと同様、一番最初は「ゼロ文字目」としてカウントする(1文字目ではない)ので注意。

ここで使っているmb_strposは引数がけっこう多い。

mb_strpos( 調べるテキスト,半角テキスト,開始位置,エンコーディンク )

mb_strposの場合、エンコーディングを指定して正しい値を得るために4つの引数すべてを用意しなければならないので、「4つの引数すべてを書くのが基本」と覚えておくとよい。