PHPのsubstr()関数の使い方を徹底解説!文字列の一部を抽出する方法
PHPのsubstr()関数は、文字列の一部を抽出して返すための関数です。指定した開始位置から、指定した長さ分だけ文字列を取り出すことができます。
構文
substr(str, begin, len)
パラメータ
str − 対象となる元の文字列を指定します。
begin − 文字列のどこから抽出を開始するかを指定します。
正の数 − 文字列の先頭から数えて指定位置から抽出を開始します。
負の数 − 文字列の末尾から数えて指定位置から抽出を開始します。
0 − 文字列の最初の文字から抽出を開始します。
len − 抽出する文字列の長さを指定します。省略した場合は、開始位置から文字列の末尾までが返されます。
正の数 − beginパラメータで指定した位置から、その長さ分の文字列を返します。
負の数 − 文字列の末尾から指定した文字数を除いた部分までを返します。
戻り値
substr()関数は、抽出された文字列の一部を返します。
使用例1:開始位置のみ指定
以下は、開始位置だけを指定した基本的な例です。
<?php
echo substr("This is it!",5);
?>出力結果
is it!
この例では、5番目の位置(0から数え始める)以降の文字列「is it!」が出力されています。
使用例2:開始位置と長さを指定
次に、開始位置と長さの両方を指定する例を見てみましょう。
<?php
echo substr("programming language",2,6)."<br>"
?>出力結果
ogramm <br>
2番目の位置から6文字分、「ogramm」が抽出されています。
使用例3:負の値を指定する
負のパラメータを使用すると、文字列の末尾から数えた位置で抽出することができます。
<?php
echo substr("website development",-5,-2)."<br>"
?>出力結果
pme <br>
この例では、末尾から5番目の位置を開始点とし、末尾から2文字を除いた部分「pme」が出力されています。
まとめ
substr()関数は、PHPで文字列操作を行う際に非常に便利な基本関数です。正の値と負の値を使い分けることで、文字列の先頭からも末尾からも柔軟に部分文字列を取得できます。ただし、日本語などのマルチバイト文字列を扱う場合は、mb_substr()関数を使用することをおすすめします。マルチバイト対応の関数を使わないと、文字化けや意図しない切り出し結果になる可能性があります。
-
PHPのquoted_printable_encode()関数の使い方を徹底解説
PHPのquoted_printable_encode()関数は、8ビット文字列をquoted-printable形式の文字列に変換するための組み込み関数です。quoted-printableはMIME(Multipurpose Internet Mail Extensions)で定義されているエンコード方式の一つで、主に電子メールで非ASCII文字(日本語など)を安全に送信する際に利用されます。構文quoted_printable_encode(str)パラメータstr − 変換対象となる8ビット文字列を指定します。この引数は必須です。戻り値quoted_printable_encode()
-
PHPのquoted_printable_decode()関数とは?使い方とサンプルコードを解説
PHPのquoted_printable_decode()関数は、quoted-printable形式でエンコードされた文字列を、8ビット文字列にデコードするために使用されます。メール本文などで使われるquoted-printableエンコーディングを元に戻したい場合に便利な関数です。 構文 quoted_printable_decode(str) パラメータ str − デコード対象となる入力文字列を指定します。 戻り値 quoted_printable_decode()関数は、デコード後の8ビットASCII文字列を返します。 使用例 以下は、quoted_printable_dec