次のように、PHP で preg_replace を使用して、文字列内の特定の単語を検索して置換しています。
$subject = "Apple apple";
print preg_replace('/\bapple\b/i', 'pear', $subject);
結果は 'pear pear' になります。
私ができるようにしたいのは、大文字と小文字を区別しない方法で単語を一致させることですが、置換時に大文字と小文字を区別することです。結果は「ナシナシ」になります。
以下はうまくいきますが、私には少し長いようです:
$pattern = array('/Apple\b/', '/apple\b/');
$replacement = array('Pear', 'pear');
$subject = "Apple apple";
print preg_replace($pattern, $replacement, $subject);
これを行うより良い方法はありますか?
更新: 以下で提起された優れたクエリに加えて、このタスクの目的のために、「タイトルケース」のみを尊重したいので、単語の最初の文字が大文字であるかどうかに関係なく.