2017-07-07 2 views
0

ich von einem Raum, der von einer Groß gefolgt gefolgt um einen Punkt zu ersetzen und ich versuchte, dieses Muster, sie zu ersetzen durch    :ein Zeichen Halten von preg_replace gefunden

preg_replace('/\. [A-Z]/', '.    'With marriage came a move to the beautiful Birmingham, Alabama area. Diving in head first.'); 

Es funktioniert, aber ich bin verlieren die D Zuerst im Kopf tauchen.

Wie kann ich es behalten?

+1

' '/ \ \ s + /. (= [A-Z]?)'' –

+0

preg_replace ('/ \ ([A-Z]) /.',, $ S‘      1' $.); $ s ist Ihre Zeichenfolge – user10089632

Antwort

1

das Muster Brief Matching In einen nicht-verbrauchenden Look-Ahead:

'/\.\s+(?=[A-Z])/' 

Die \s+ 1 Übereinstimmen oder mehr Leerzeichen (oder, wenn Sie nicht wollen, dass der regelmäßigen Raum halten) und (?=[A-Z]) macht den Motor Es muss ein ASCII-Großbuchstabe angegeben werden, der direkt nach der aktuellen Position in der Zeichenfolge angezeigt wird.

Siehe die PHP demo Druck With marriage came a move to the beautiful Birmingham, Alabama area.   Diving in head first..

+0

Ja, das ist perfekt, danke. –