$pattern = "/of/i";
$text = "Offspring offers OFFENSIVE Offerings";
すべての "of" を太字にしたいのですが、大文字と小文字はそのままにしておきます。元の部分をオーバーライドする置換関数を使用しますか (of、Of、oF、および OF は of になります)。では、置換する代わりに、すべての一致の周りに Bold-Tag を「注入」する方法は?
置換文字列で後方参照を使用するだけです ($0
パターン全体に一致するテキストを使用することを意味します)。ケースは保存されます。
$replaced = preg_replace('/of/i', '<b>$0</b>', $input);
キャプチャで preg_replace を使用するだけです。
$pattern = '/(of)/i';
$text = "Offspring offers OFFENSIVE Offerings";
$replace = preg_replace($pattern, '<b>' . $1 . '</b>', $text);