[PHP]preg_replace() 関数を使った正規表現に基づく文字列の置換

PHP

みなさん、こんにちは!今回は、PHPの preg_replace() 関数に焦点を当て、正規表現を利用して文字列を柔軟に置換する方法についてご紹介します。この関数は、複雑な文字列操作やパターンに基づく置換に適しています。

基本的な使い方

まずは、preg_replace() 関数の基本的な使い方を見てみましょう。

$text = "The quick brown fox jumps over the lazy dog.";
$newText = preg_replace("/brown/", "red", $text);

echo $newText;
// 結果: The quick red fox jumps over the lazy dog.

この例では、文字列 $text 内の “brown” を “red” に置換しています。正規表現 /brown/ は “brown” と一致する部分を指定しています。

正規表現の利用

preg_replace() では、正規表現を用いてより複雑なパターンに一致する部分を置換できます。

$text = "My phone number is 123-456-7890.";
$newText = preg_replace("/\d{3}-\d{3}-\d{4}/", "XXX-XXX-XXXX", $text);

echo $newText;
// 結果: My phone number is XXX-XXX-XXXX.

この例では、\d{3}-\d{3}-\d{4} という正規表現パターンを使って電話番号を “XXX-XXX-XXXX” に置換しています。

コールバック関数の利用

preg_replace() では、コールバック関数を用いてより高度な置換が可能です。

$text = "Today is a beautiful day!";
$newText = preg_replace_callback("/\b\w+\b/", function ($matches) {
    return strtoupper($matches[0]);
}, $text);

echo $newText;
// 結果: TODAY IS A BEAUTIFUL DAY!

この例では、\b\w+\b という正規表現パターンを使って単語を大文字に変換しています。

注意点

  • 正規表現を適切に扱うためには、正確なパターンを理解し、エスケープ文字の使用に留意する必要があります。

preg_replace() 関数を使えば、複雑なパターンに基づく文字列の置換が容易になります。正規表現は強力なツールですが、注意深く使うことが重要です。Happy Coding! 🚀

タイトルとURLをコピーしました