PHPで文字列を簡単に置換!その手法と活用例を5選で解説

PHPで文字列を置換する機会は、ウェブ開発において頻繁に訪れます。たとえば、URLの一部を動的に変更したり、特定のワードを自動的に別のワードに変えたりする処理などです。本記事では、PHPで文字列を簡単に置換する手法を5つ紹介し、それぞれの活用例を交えて解説します。

1. str_replace – 基本中の基本!シンプルな文字列置換

str_replaceは、PHPで最もよく使われる置換関数です。文字列中の指定した文字列を、別の文字列に置き換えます。

構文:

str_replace(検索文字列, 置換文字列, 対象文字列);

例:

$text = "こんにちは、世界!";
$replaced = str_replace("世界", "PHP", $text);
echo $replaced; // 結果: こんにちは、PHP!

2. preg_replace – 正規表現を使った柔軟な置換

正規表現を使いたい場合は、preg_replaceが便利です。複雑なパターンの文字列も柔軟に置換できます。

構文:

preg_replace(正規表現, 置換文字列, 対象文字列);

例:

$text = "商品コード: ABC123";
$replaced = preg_replace("/[A-Z]{3}[0-9]{3}/", "XXXXX", $text);
echo $replaced; // 結果: 商品コード: XXXXX

活用例:

  • 電話番号やメールアドレスのマスキング。
  • 特定フォーマットのデータを変更。

3. str_ireplace – 大文字小文字を無視した置換

str_replaceの大文字小文字を区別しないバージョンがstr_ireplaceです。入力データが大文字・小文字混在している場合に便利です。

構文:

str_ireplace(検索文字列, 置換文字列, 対象文字列);

例:

$text = "Welcome to the PHP World!";
$replaced = str_ireplace("php", "JavaScript", $text);
echo $replaced; // 結果: Welcome to the JavaScript World!

4. substr_replace – 部分的な文字列の置換

文字列の特定の位置を指定して置換する場合は、substr_replaceが役立ちます。

構文:

substr_replace(対象文字列, 置換文字列, 開始位置, 長さ);

例:

$text = "郵便番号: 123-4567";
$replaced = substr_replace($text, "XXX-XXXX", 6, 8);
echo $replaced; // 結果: 郵便番号: XXX-XXXX

5. strtr – 複数文字列を一括置換

複数の文字列を一度に置換する場合、strtrを使うと効率的です。配列で置換ルールを指定します。

構文:

strtr(対象文字列, 配列または文字列);

例:

$text = "I love PHP and JavaScript!";
$replace_pairs = [
    "PHP" => "Python",
    "JavaScript" => "Ruby"
];
$replaced = strtr($text, $replace_pairs);
echo $replaced; // 結果: I love Python and Ruby!

活用例:

  • 多言語対応のための翻訳テキスト置換。
  • キーワードの一括変更。

おまけ: 実践的な置換スクリプト

複数の置換方法を組み合わせる例を見てみましょう。

:

$text = "こんにちは、ユーザー名123さん!";
$text = str_replace("ユーザー名123", "田中さん", $text);
$text = preg_replace("/さん/", "様", $text);
echo $text; // 結果: こんにちは、田中様!

総評

PHPの文字列置換は、簡単なものから複雑なものまで多彩な方法があります。

str_replacepreg_replaceを使い分けることで、効率的なプログラムが書けるようになります。プロジェクトに応じて適切な手法を選び、自由自在に文字列を操作しましょう!