PHPの文字列の一部を取得するサンプルです。
mb_substr関数とsubstr関数を使用します。
| 確認環境 ・PHP 7.2.8 ・XAMPP 7.2.8 ・Windows 10 |
目次
mb_substr関数(マルチバイト文字に対応)
| string mb_substr ( 文字列 , int 開始位置 [, int 文字数 [, エンコーディング ]] ) |
- 文字列の一部を取得します。
- 日本語のひらがなや漢字などのマルチバイト文字に対応しています。
- 開始位置の最初は0から始まります。
- 開始位置がマイナスの場合は、文字列の後ろから数えます。
- 引数の文字数を省略した場合は、文字列の最後まで取得します。
- エンコーディングを省略した場合は内部文字エンコーディングを使用します。
- 以下は、PHPマニュアルのmb_substr関数のリンクです。
http://php.net/manual/ja/function.mb-substr.php
コード
mb_substr関数で文字列の一部を取得しています。
<?php
$test1 = "あaいbうc";
print mb_substr($test1,0,1);//あ
print mb_substr($test1,0,2);//あa
print mb_substr($test1,0,3,"UTF-8");//あaい
print mb_substr($test1,0);//あaいbうc
echo nl2br("\n");//改行
print mb_substr($test1,1,1);//a
print mb_substr($test1,1,2);//aい
echo nl2br("\n");//改行
print mb_substr($test1,-1);//c
print mb_substr($test1,-2);//うc
print mb_substr($test1,-3);//bうc
?>
substr関数
| string substr ( string $string , int 開始位置 [, int 文字数 ] ) |
- 文字列の一部を取得します。
- 日本語のひらがなや漢字などのマルチバイト文字に対応していません。
→mb_substr関数を使用して下さい。 - 開始位置の最初は0から始まります。
- 開始位置がマイナスの場合は、文字列の後ろから数えます。
- 以下は、PHPマニュアルのsubstr関数のリンクです。
http://php.net/manual/ja/function.substr.php
<?php
$test1 = "abcd";
print mb_substr($test1,0,1);//a
print mb_substr($test1,0,2);//ab
print mb_substr($test1,0,3);//abc
print mb_substr($test1,0);//abcd
echo nl2br("\n");//改行
print mb_substr($test1,1,1);//b
print mb_substr($test1,1,2);//bc
echo nl2br("\n");//改行
print mb_substr($test1,-1);//d
print mb_substr($test1,-2);//cd
print mb_substr($test1,-3);//bcd
?>
関連の記事
PHP 文字列が一致するか比較するサンプル(strcmp)
PHP 文字列の長さを取得するサンプル(mb_strlen/strlen)
PHP 文字列の大文字と小文字を変換する(strtoupper/strtolower)