0
$pattern = "/of/i";
$text = "Offspring offers OFFENSIVE Offerings";

すべての "of" を太字にしたいのですが、大文字と小文字はそのままにしておきます。元の部分をオーバーライドする置換関数を使用しますか (of、Of、oF、および OF は of になります)。では、置換する代わりに、すべての一致の周りに Bold-Tag を「注入」する方法は?

4

2 に答える 2

2

置換文字列で後方参照を使用するだけです ($0パターン全体に一致するテキストを使用することを意味します)。ケースは保存されます。

$replaced = preg_replace('/of/i', '<b>$0</b>', $input);
于 2013-05-28T17:50:07.893 に答える
1

キャプチャで preg_replace を使用するだけです。

$pattern = '/(of)/i';
$text = "Offspring offers OFFENSIVE Offerings";
$replace = preg_replace($pattern, '<b>' . $1 . '</b>', $text);
于 2013-05-28T17:50:27.753 に答える