$skip_array = array (
'Jr', 'Mr', 'Mrs', 'Ms', 'Dr', 'Prof', 'Sr' ,
'jr', 'mr', 'mrs', 'ms', 'dr', 'prof', 'sr' ,
'col','gen', 'lt', 'cmdr',
'dept', 'univ',
'inc', 'ltd',
'arc', 'al', 'ave', 'cl', 'ct', 'cres', 'dr',
'la', 'pl', 'plz', 'rd', 'tce',
'Ala' , 'Ariz', 'Ark', 'Cal', 'Calif', 'Col', 'Colo', 'Conn',
'Del', 'Fed' , 'Fla', 'Ga', 'Ida', 'Id', 'Ill', 'Ind', 'Ia',
'Kan', 'Kans', 'Ken', 'Ky' , 'La', 'Me', 'Md', 'Is', 'Mass',
'Mich', 'Minn', 'Miss', 'Mo', 'Mont', 'Neb', 'Nebr' , 'Nev',
'Mex', 'Okla', 'Ok', 'Ore', 'Oreg', 'Penna', 'Penn', 'Pa' , 'Dak',
'Tenn', 'Tex', 'Ut', 'Vt', 'Va', 'Wash', 'Wis', 'Wisc', 'Wy',
'Wyo', 'USAFA', 'Alta' , 'Man', 'Ont', 'Que', 'Sask', 'Yuk'.
'jan','feb','mar','apr','may','jun','jul','aug','sep','oct','nov','dec', 'sept',
'vs', 'etc', 'no' );
// build string of shortenings
$skip = '';
foreach($skip_array as $abbr) {
$skip = $skip . (empty($skip) ? '' : '|') . '\s{1}' . $abbr . '[.!?]';
}
// split text into sentences
$lines = preg_split ("/(?<!$skip)(?<=[.?!])\s+(?=[a-z])/",
$string,
-1,
PREG_SPLIT_NO_EMPTY);