PHPのiconv_substr()関数で文字列の一部を切り出す方法をわかりやすく解説
PHPのiconv_substr()関数は、オフセット(開始位置)と長さを指定することで、文字列の一部を切り出すための関数です。マルチバイト文字(日本語など)にも対応しているため、文字エンコーディングを意識した文字列操作に便利です。
例えば、"helloWorld"という文字列から"llowo"の部分だけを取り出したい場合、開始位置を2、終了位置を5として指定します。
構文
string iconv_substr(str $string, int $offset, int $length, str $encoding)
パラメータ
iconv_substr()関数は、以下の4つのパラメータを受け取ります。
$string ― 切り出し元となる元の文字列を指定します。
$offset ― 正の値を指定した場合、文字列の先頭(0から数えて)からoffset番目の文字を起点として切り出します。負の値を指定した場合は、文字列の末尾からoffset文字分さかのぼった位置を起点として切り出します。
$length ― 正の値を指定した場合、offset位置から始まる部分文字列のうち、最大length文字までが返されます。
$encoding ― 省略した場合、またはnullを指定した場合は、iconv.internal_encodingの設定値が文字エンコーディングとして使用されます。
戻り値
iconv_substr()関数は、offsetとlengthで指定された文字列の一部を返します。文字列の長さがoffset文字より短い場合はFalseを返します。また、文字列の長さがoffset文字とちょうど同じ場合は、nullまたは空文字列が返されます。
使用例1:空白を含まない文字列の場合
<?php
// "HelloWorld!" という文字列を使用
// iconv_substr関数で指定した部分を切り出す
$string = iconv_substr("HelloWorld!", 2, 7, "UTF-8");
// 2文字目から7文字分を返す
var_dump($string);
?>出力結果
string(7) "lloWorl"
使用例2:空白を含む文字列の場合
<?php
// "Hello World!" という文字列を使用
// iconv_substr関数で指定した部分を切り出す
$string = iconv_substr("Hello World!", 2, 7, "UTF-8");
// 2文字目から7文字分を返す
var_dump($string);
?>出力結果
string(7) "llo Wor"
このように、iconv_substr()関数を使えば、エンコーディングを明示的に指定しながら、文字列の任意の部分を簡単に切り出すことができます。空白などの記号も1文字としてカウントされる点に注意してください。
-
PHPのimagestringup()関数で画像に文字列を垂直に描画する方法
imagestringup()は、PHPのGDライブラリに組み込まれた関数の一つで、画像に対して文字列を垂直方向(下から上へ)に描画するために使用されます。通常の横書きテキストとは異なる縦向きのテキスト表現が必要な場面で活躍する便利な関数です。 構文 bool imagestringup ( $image, $font, $x, $y, $string, $color ) パラメータ imagestringup()関数は、以下の6つのパラメータを受け取ります。 $image − imagecreatetruecolor()関数などで作成した画像リソースを指定します。ここには、指定したサイズの
-
【PHP入門】imagestring()関数で画像にテキストを水平に描画する方法を解説
imagestring()関数とはimagestring() は、PHPのGDライブラリに組み込まれている関数の一つで、画像上に文字列を水平方向に描画するために使用されます。動的に生成した画像へテキストを追加したい場合などに便利な関数です。基本構文bool imagestring($image, $font, $x, $y, $string, $color)パラメータの詳細imagestring() は、以下の6つのパラメータを受け取ります。$image ― 描画対象となる画像リソースです。通常は imagecreatetruecolor() 関数や imagecreate() 関数を使って、