ich preg_replace in PHP bin mit zu finden und bestimmte Wörter in einem String zu ersetzen, wie folgt aus:PHP preg_replace: Groß- und Kleinschreibung Übereinstimmung mit Groß- und Kleinschreibung Ersatz
$subject = "Apple apple";
print preg_replace('/\bapple\b/i', 'pear', $subject);
die das Ergebnis ‚Birne Birne‘ gibt.
Was ich gerne tun könnte, ist ein Wort in einer Groß-und Kleinschreibung nicht übereinstimmen, aber respektieren, es ist der Fall, wenn es ersetzt wird - mit dem Ergebnis "Birne Birne".
Die folgenden Werke, aber es scheint ein wenig lang mir umständliche:
$pattern = array('/Apple\b/', '/apple\b/');
$replacement = array('Pear', 'pear');
$subject = "Apple apple";
print preg_replace($pattern, $replacement, $subject);
Gibt es einen besseren Weg, dies zu tun?
Update: Neben einer ausgezeichneten Abfrage unten, für die Zwecke dieser Aufgabe möchte ich nur 'Titel Case' respektieren - also, ob der erste Buchstabe eines Wortes ein Kapital ist oder nicht.
Die einzige Sache, die unklar bleibt: Was ist, wenn Ihr Ersatz- und Originalwort unterschiedliche Länge und Originalwort hat Großbuchstabe auf höherer Position? I.e. '' applie'' und '' pean'' was dann? –
Ausgezeichneter Punkt. Für die Zwecke dieser speziellen Aufgabe möchte ich nur den "Titelfall" respektieren (also, ob der erste Buchstabe ein Großbuchstabe ist oder nicht). Vielen Dank für weitere Klarheit. – colin