我使用的preg_replace在PHP中找到並替換字符串中的特定單詞,像這樣: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);
有沒有更好的方式來做到這一點?
更新:進一步對下面提出的優秀查詢,爲了這個任務的目的,我只想尊重'標題案例' - 因此一個詞的第一個字母是否是大寫。
中所見。唯一不清楚的是:如果您的替換項和原始單詞具有不同的長度和原始單詞,該怎麼辦?大寫字母在更高的位置?即「'applE''和'pear''然後呢? –
優秀點。爲了這個特定任務的目的,我只想尊重'標題大小寫'(因此第一個字母是否是大寫字母)。非常感謝您提供進一步的澄清。 – colin