PHPには、文字列を操作作する関数があらかじめ用意されています。
echo()関数とprint()関数
引数で与えられた文字列を出力します。
《構文》
echo (文字列) print (文字列) |
《サンプル》
<?php echo ("Hellow ! <br>\n"); print ("My name is Chie"); ?> |
《実行結果》
Hellow ! My name is Chie |
strlen()関数
文字列の長さを返します。
《構文》
strlen (文字列) |
《サンプル》
<?php echo ("文字列長さ "); echo (strlen("文字列長さ")); ?> |
《実行結果》
文字列長さ 10 |
substr()関数
指定されたバイト数分の文字列を取り出します。
《構文》
substr (文字列,取り出し位置,文字列数) |
《サンプル》
<?php $str1 = substr("JeanlucMccoy",0,7); $str2 = substr("JeanlucMccoy",7,5); echo ("$str1<br>\n"); echo ("$str2<br>\n"); ?> |
《実行結果》
Jeanluc Mccoy |
str_replace()関数
文字列を置換します。
《構文》
str_replace (検索文字列, 置換後の文字列, 元の文字列) |
《サンプル》
<?php echo str_replace("Jean","Mccoy","Hellow I am Mccoy "); ?> |
《実行結果》
Hellow I am Mccoy |
printff()関数 sprintff()関数
フォーマットを指定して出力します。
《構文》
printff (フォーマットを示す変数, 変数, 変数) |
《サンプル》
<?php $year = "2005"; $manth ="10"; $day ="15"; $format = "%1\$s年 %2\$s月 %3\$s日 <br>\n"; printf($format, $year, $manth, $day); $manth = "Oct"; |
《実行結果》
2005年 10月 15日 Oct 15 2005 |
空白を取り除く関数
trim()関数は、文字列の最初および最後から空白文字を取り除き、 取り除かれた文字列を返します。
ltrim()関数は、左側の空白を削除します。
rtrim()関数は、右側の空白を削除します。
《サンプル》
<?php $text1 = " My name is Chie "; $text2 = trim($text1); //左右の空白を削除 $text3 = ltrim($text1);//左側の空白を削除 $text4 = rtrim($text1);//右側の空白を削除 echo "空白削除前:[$text1]<br>"; |
《実行結果》
空白削除前[ My name is Chie ] 空白削除後[My name is Chie] 左側削除後[My name is Chie ] 右側削除後[ My name is Chie] |
全角(2バイト文字)の空白を扱う場合には、マルチバイト文字列関数 mb_convert_kana()関数を使って、一度半角に変換する必要があります。
《構文》
mb_convert_kana( string str, string option [, mixed encoding] ) |
パラメータ1つめは任意の文字列、2つ目は変換オプション、3つ目は文字コードです。全角スペースを半角スペースに変換したい場合は、2つ目のパラメータで as を指定します。
《サンプル》
<?PHP $text1 = " 全角の空白をとりますっ! "; $text2 = mb_convert_kana($text1,"as","SJIS"); echo "空白削除前 → [$text1]<br>"; echo "空白削除後 → [$text2]<br>"; ?> |
《実行結果》
空白削除前 → [ 全角の空白をとりますっ! ] 空白削除後 → [ 全角の空白をとりますっ! ] |
《オプション》 (初期値は"KV")
"r" | 「全角」英字を「半角」に変換 |
"R" | 「半角」英字を「全角」に変換 |
"n" | 「全角」数字を「半角」に変換 |
"N" | 「半角」数字を「全角」に変換 |
"a" | 「全角」英数字を「半角」に変換 |
"A" | 「半角」英数字を「全角」に変換 |
("a" "A" オプションに含まれる文字は、U+0022, U+0027, U+005C,U+007Eを除く U+0021 - U+007E の範囲です) | |
"s" | 「全角」スペースを「半角」に変換 (U+3000 -> U+0020) |
"S" | 「半角」スペースを「全角」に変換 (U+0020 -> U+3000) |
"k" | 「全角片仮名」を「半角片仮名」に変換 |
"K" | 「半角片仮名」を「全角片仮名」に変換 |
"h" | 「全角ひら仮名」を「半角片仮名」に変換 |
"H" | 「半角片仮名」を「全角ひら仮名」に変換 |
"c" | 「全角かた仮名」を「全角ひら仮名」に変換 |
"C" | 「全角ひら仮名」を「全角かた仮名」に変換 |
"V" | 濁点付きの文字を一文字に変換。"K","H"と共に使用します。 |