2016-04-06 13 views
0

Ich benutze die preg_split Funktion in PHP, um einen Absatz auf mehrere Sätze aufzuteilen.Split String bei Punkt in PHP ausschließen "a.m."

In meinem Fall:

$str = 'Applicants can check the final result of Admissions through the online enquiry system. The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday).'; 

$arr = preg_split('/\./', $str); 

Wie kann ich den Fall auszuschließen, wenn ein a.m. oder p.m. ist?

Antwort

0

Sie können (*SKIP)(*FAIL) verwenden, um die am/pm Übereinstimmungen zu blockieren. Sie können mehr über den Ansatz hier lesen, http://www.rexegg.com/regex-best-trick.html.

[ap]\.m\.(*SKIP)(*FAIL)|\. 

Regex Demo: https://regex101.com/r/uD9xD7/1

Demo: https://eval.in/548705

PHP Verbrauch:

$str = 'Applicants can check the final result of Admissions through the online enquiry system. The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday).'; 

$arr = preg_split('/[ap]\.m\.(*SKIP)(*FAIL)|\./', $str); 

print_r($arr); 

Ausgang:

Array 
(
    [0] => Applicants can check the final result of Admissions through the online enquiry system 
    [1] => The online enquiry system will be available from 10:00 a.m. on November 16 (Wednesday) 
    [2] => 
) 

Wenn A.M. sollte auch erlaubt sein, die imodifier verwenden.

+0

Es funktioniert. Vielen Dank. Dieser Fall ist für einen Regex-Anfänger ziemlich schwierig. –