と大文字小文字を区別しないマッチング:PHPのにpreg_replace:私はこのように、検索し、文字列内の特定の単語を置き換えるためにPHPでにpreg_replaceを使用している大文字と小文字が区別交換
結果「梨梨」を与え$subject = "Apple apple";
print preg_replace('/\bapple\b/i', 'pear', $subject);
。
私は、大文字小文字を区別しない方法で単語をマッチさせることができますが、置き換えられた場合は敬意を表して結果を「梨の梨」にします。
以下の作品が、少し長い私に息切れ思わ:
$pattern = array('/Apple\b/', '/apple\b/');
$replacement = array('Pear', 'pear');
$subject = "Apple apple";
print preg_replace($pattern, $replacement, $subject);
はこれを行うには良い方法はありますか?
更新:このタスクの目的のために、以下のような優れたクエリに加えて、単語の最初の文字が大文字であるかどうかにかかわらず、「タイトルケース」を尊重したいだけです。
のように、
$1
でアクセスすることができます。唯一の不明な点は、置き換え元の単語の長さと元の単語の長さが異なる場合より高い地位の大文字?私。 '' applE''と '' pear''はどうしたの? –優れた点。この特定の仕事の目的のために、私は「タイトルケース」(最初の文字が首都であるかどうかにかかわらず)を尊重したいだけです。もっと分かりやすくしてくれてありがとう。 – colin