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

コメントを残す