substr関数でできること:文字列を切り出す・置換する・分割する

2024-04-06

PHPのsubstr関数:文字列操作の基本

substr関数は、PHPで文字列の一部を切り出すための最も基本的な関数です。初心者でも比較的理解しやすい関数ですが、いくつかの注意点も存在します。

使い方

substr関数は、以下の形式で呼び出します。

substr(string, start, length)
  • string: 操作対象の文字列
  • start: 切り出す開始位置
  • length: 切り出す文字数

$str = "Hello, World!";

// 先頭から5文字を切り出す
$substr1 = substr($str, 0, 5); // "Hello"

// 6文字目から10文字を切り出す
$substr2 = substr($str, 6, 10); // "World!"

// 末尾から5文字を切り出す
$substr3 = substr($str, -5); // "World!"

注意点

  • startは、文字列の先頭からの位置を表します。負の値を指定すると、末尾からの位置を表します。
  • lengthは、切り出す文字数を表します。省略すると、startから文字列の末尾まで切り出されます。
  • lengthが負の値の場合、startからlength文字分を除いた部分が残されます。

関連関数

  • mb_substr: マルチバイト文字列に対応した関数
  • str_slice: 負のインデックスに対応した関数

応用例

  • 文字列の頭・末尾の不要な空白を除去する
  • 文字列の一部を置換する
  • 文字列を分割する

substr関数は、PHPで文字列操作を行う上で非常に重要な関数です。使い方を理解すれば、様々な文字列処理を行うことができます。



substr関数:サンプルコード

$str = "Hello, World!";

// 先頭から5文字を切り出す
$substr = substr($str, 0, 5);

echo $substr; // 出力: "Hello"

文字列の末尾から指定文字数分を切り出す

$str = "Hello, World!";

// 末尾から5文字を切り出す
$substr = substr($str, -5);

echo $substr; // 出力: "World!"

指定位置から指定文字数分を切り出す

$str = "Hello, World!";

// 6文字目から10文字を切り出す
$substr = substr($str, 6, 10);

echo $substr; // 出力: "World!"

負のインデックスを使用する

$str = "Hello, World!";

// 10文字目から末尾までを切り出す
$substr = substr($str, -10);

echo $substr; // 出力: "World!"

文字列を分割する

$str = "This is a string.";

// 空白文字で分割
$parts = substr_split($str, " ");

print_r($parts); // 出力: Array ( [0] => "This" [1] => "is" [2] => "a" [3] => "string." )

文字列の頭・末尾の空白を除去する

$str = "  This is a string.  ";

// trim() を使用
$trimmed = trim($str);

echo $trimmed; // 出力: "This is a string."

// substr() を使用
$trimmed = substr($str, 1, -1);

echo $trimmed; // 出力: "This is a string."

文字列の一部を置換する

$str = "Hello, World!";

// "World!" を "Universe!" に置換
$replaced = substr_replace($str, "Universe!", 7);

echo $replaced; // 出力: "Hello, Universe!"

マルチバイト文字列に対応する

$str = "こんにちは、世界!";

// mb_substr() を使用
$substr = mb_substr($str, 0, 5);

echo $substr; // 出力: "こんにちは"

正規表現を使用する

$str = "This is a string.";

// 最初の空白文字までの部分を取得
$substr = preg_match("/^([^ ]*)/", $str, $matches);

echo $matches[1]; // 出力: "This"

これらのサンプルコードは、substr関数の基本的な使い方を理解するのに役立ちます。



文字列を切り出す他の方法

mb_substr関数は、マルチバイト文字列に対応した関数です。substr関数と同様に、開始位置と切り出す文字数を指定して文字列を切り出すことができます。

$str = "こんにちは、世界!";

// mb_substr() を使用
$substr = mb_substr($str, 0, 5);

echo $substr; // 出力: "こんにちは"

str_slice関数は、負のインデックスに対応した関数です。substr関数と同様に、開始位置と切り出す文字数を指定して文字列を切り出すことができます。

$str = "Hello, World!";

// str_slice() を使用
$substr = str_slice($str, -5);

echo $substr; // 出力: "World!"

explode関数は、文字列を指定された区切り文字で分割する関数です。分割された文字列は、配列として返されます。

$str = "This is a string.";

// 空白文字で分割
$parts = explode(" ", $str);

print_r($parts); // 出力: Array ( [0] => "This" [1] => "is" [2] => "a" [3] => "string." )

preg_match関数は、正規表現を使用して文字列を切り出すことができます。

$str = "This is a string.";

// 最初の空白文字までの部分を取得
$substr = preg_match("/^([^ ]*)/", $str, $matches);

echo $matches[1]; // 出力: "This"

その他の関数

  • strtok: 文字列をトークンに分割する
  • chop: 文字列の末尾から指定された文字を除去する
  • ltrim: 文字列の左側



【初心者向け】PHPで文字列の先頭を大文字にする「ucfirst」関数:完全ガイド

ucfirst() 関数は、PHP で文字列操作を行うための組み込み関数の一つです。この関数は、引数として渡された文字列の最初の文字を大文字に変換します。残りの文字は元のまま保持されます。使用方法詳細ucfirst() は、ASCII 文字 のみを対象としています。つまり、非 ASCII 文字を含む文字列に対しては、期待通りの動作をしない可能性があります。



初心者向け解説:PHP vfprintf 関数でフォーマットされた文字列を書き込む

vfprintf 関数は、printf 関数と似ていますが、可変引数ではなく、フォーマット文字列と引数の配列を受け取ります。これは、複数の変数をフォーマットされた文字列に挿入したい場合に便利です。構文引数handle: 書き込み先のストリームリソース。ファイルポインタ、標準出力ストリーム (STDOUT) などが指定できます。


PHPのxml_set_notation_decl_handler関数の使い方

xml_set_notation_decl_handler は、以下の用途に使用できます。特定の表記法宣言に基づいて、独自処理を行う表記法宣言の内容を検証する表記法宣言に基づいて、データ構造を構築するxml_set_notation_decl_handler 関数は、以下の 2 つの引数を受け取ります。


SimpleXMLElement vs. DOMDocument: どっちを選ぶべき?

この関数の主な機能は以下の通りです。次のノードへカーソルを移動する: サブツリーをスキップして次のノードへ移動します。 複数回呼び出すことで、XMLファイル全体を順番に読み込むことができます。サブツリーをスキップして次のノードへ移動します。


【初心者向け】PHPでXMLを扱う基本から応用まで!サンプルコードで分かりやすく解説

xml_get_current_column_number関数は、XMLパーサーが現在解析しているXMLドキュメント内の現在のカラム番号を取得するために使用されます。これは、XMLドキュメント内の特定の位置を特定するのに役立ちます。構文引数



PHP PDO::beginTransaction でデータベース操作をトランザクションとして実行する方法

PDO::beginTransaction は、PDO オブジェクトに対して呼び出します。以下は、PDO::beginTransaction の使い方の例です。上記の例では、まず PDO オブジェクトを取得し、beginTransaction メソッドを使ってトランザクションを開始します。その後、INSERT ステートメントを実行して、users テーブルに新しいレコードを挿入します。最後に、commit メソッドを使ってトランザクションをコミットします。


様々なサンプルコード:PDO::execでデータベースを操作

PDO::exec は、PHPにおいて データベース操作 を行うための関数の一つです。INSERT、UPDATE、DELETE などのステートメントを実行し、影響を受けた行数を返します。SELECT ステートメント には使用できません。PDO::exec の利点


PHP odbc_do関数マスターガイド:SELECT、INSERT、UPDATE、DELETE、トランザクション

odbc_do関数の概要機能: ODBCデータベースへの接続、SQLクエリの実行、データの取得・更新・削除、トランザクション管理利点: 使いやすいシンプルなインターフェース さまざまなODBCデータソースに対応 効率的なデータ処理使いやすいシンプルなインターフェース


stripos関数で効率化!Webサイト開発・データ処理・文字列操作をもっと簡単に

この関数は、Webサイト開発、データ処理、文字列操作など、さまざまな場面で役立ちます。本解説では、stripos関数の詳細な説明と実践的なコード例を通じて、その使い方を分かりやすく解説します。stripos関数とは?stripos関数の構文


画像や動画もラクラク!PHPでODBCデータベースのバイナリデータ処理をマスター

この関数の役割ODBC ドライバがバイナリデータカラムをどのように処理するかを指定します。デフォルトの処理モードは、php. ini ファイルの uodbc. defaultbinmode ディレクティブで設定できます。この関数は、結果セット全体または個々のカラムに対して設定できます。