<?php
function sentence_split( $text ) {
$before_regexes = array ( '/(?:[”’"\'»])\s*\Z/u' , '/(?:(?:[\'\"„][\.!?…][\'\"”]\s)|(?:[^\.]\s[A-Z]\.\s)|(?:\b(?:St|Gen|Hon|Prof|Dr|Mr|Ms|Mrs|[JS]r|Col|Maj|Brig|Sgt|Capt|Cmnd|Sen|Rev|Rep|Revd)\.\s)|(?:\b(?:St|Gen|Hon|Prof|Dr|Mr|Ms|Mrs|[JS]r|Col|Maj|Brig|Sgt|Capt|Cmnd|Sen|Rev|Rep|Revd)\.\s[A-Z]\.\s)|(?:\bApr\.\s)|(?:\bAug\.\s)|(?:\bBros\.\s)|(?:\bCo\.\s)|(?:\bCorp\.\s)|(?:\bDec\.\s)|(?:\bDist\.\s)|(?:\bFeb\.\s)|(?:\bInc\.\s)|(?:\bJan\.\s)|(?:\bJul\.\s)|(?:\bJun\.\s)|(?:\bMar\.\s)|(?:\bNov\.\s)|(?:\bOct\.\s)|(?:\bPh\.?D\.\s)|(?:\bSept?\.\s)|(?:\b\p{Lu}\.\p{Lu}\.\s)|(?:\b\p{Lu}\.\s\p{Lu}\.\s)|(?:\bcf\.\s)|(?:\be\.g\.\s)|(?:\besp\.\s)|(?:\bet\b\s\bal\.\s)|(?:\bvs\.\s)|(?:\p{Ps}[!?]+\p{Pe} ))\Z/su' ,
'/(?:(?:[\.\s]\p{L}{1,2}\.\s))\Z/su' ,
'/(?:(?:[\[\(]*\.\.\.[\]\)]* ))\Z/su' ,
'/(?:(?:\b(?:pp|[Vv]iz|i\.?\s*e|[Vvol]|[Rr]col|maj|Lt|[Ff]ig|[Ff]igs|[Vv]iz|[Vv]ols|[Aa]pprox|[Ii]ncl|Pres|[Dd]ept|min|max|[Gg]ovt|lb|ft|c\.?\s*f|vs|qtd)\.\s))\Z/su' ,
'/(?:(?:\b[Ee]tc\.\s))\Z/su' ,
'/(?:(?:[\.!?…]+\p{Pe} )|(?:[\[\(]*…[\]\)]* ))\Z/su' ,
'/(?:(?:\b\p{L}\.))\Z/su' ,
'/(?:(?:\b\p{L}\.\s))\Z/su' ,
'/(?:(?:\b[Ff]igs?\.\s)|(?:\b[nN]o\.\s))\Z/su' ,
'/(?:(?:[\"”\']\s*))\Z/su' ,
'/(?:(?:[\.!?…][\x{00BB}\x{2019}\x{201D}\x{203A}\"\'\p{Pe}\x{0002}]*\s)|(?:\r?\n))\Z/su' ,
'/(?:(?:[\.!?…][\'\"\x{00BB}\x{2019}\x{201D}\x{203A}\p{Pe}\x{0002}]*))\Z/su' ,
'/(?:(?:\s\p{L}[\.!?…]\s))\Z/su' ) ;
$after_regexes = array ( '/\A(?:\(\p{L})/u' , '/\A(?:)/su' ,
'/\A(?:[\p{N}\p{Ll}])/su' ,
'/\A(?:[^\p{Lu}])/su' ,
'/\A(?:[^\p{Lu}]|I)/su' ,
'/\A(?:[^p{Lu}])/su' ,
'/\A(?:\p{Ll})/su' ,
'/\A(?:\p{L}\.)/su' ,
'/\A(?:\p{L}\.\s)/su' ,
'/\A(?:\p{N})/su' ,
'/\A(?:\s*\p{Ll})/su' ,
'/\A(?:)/su' ,
'/\A(?:\p{Lu}[^\p{Lu}])/su' ,
'/\A(?:\p{Lu}\p{Ll})/su' ) ;
$is_sentence_boundary = array ( false , false , false , false , false , false , false , false , false , false , false , true , true , true ) ; $count = 13 ;
$sentence = '' ;
$before = '' ;
$after = substr ( $text , 0 , 10 ) ;
while ( $text != '' ) {
for ( $i = 0 ; $i < $count ; $i ++ ) {
if ( $is_sentence_boundary [ $i ] ) {
$sentence = '' ;
}
break ;
}
}
$first_from_text = $text [ 0 ] ;
$first_from_after = $after [ 0 ] ;
$before .= $first_from_after ;
$sentence .= $first_from_after ;
$after .= $first_from_text ;
}
if ( $sentence != '' && $after != '' ) {
}
return $sentences ;
}
$text = "In his book The Symposium, Plato wrote “Those who are halves of a man whole pursue males, and being slices, so to speak, of the male, love men throughout their boyhood, and take pleasure in physical contact with men” (qtd. in Isay 11)." ;
$text = "Dr. Evelyn Hooker, a heterosexual psychologist" ;
$text = "Dobbens reasoned that most parents would not raise their children to be homosexual; “They’re not like ‘My child’s going to be gay!”’ (Dobbens). Dobbens believes that he was born homosexual." ;
$text = "Dobbens reasoned that most parents would not raise their children to be homosexual; “They’re not like ‘My child’s going to be gay!”’(Dobbens). Dobbens believes that he was born homosexual." ;
$text = "In an interview in 1903, he professed his beliefs: “I am… of the firm conviction that homosexuals must not be treated as sick people… Homosexual persons are not sick. They also do not belong in a court of law!” (qtd. in Isay 3)." ;
PD9waHAKCmZ1bmN0aW9uIHNlbnRlbmNlX3NwbGl0KCR0ZXh0KSB7CiAgICAkYmVmb3JlX3JlZ2V4ZXMgPSBhcnJheSgnLyg/OlvigJ3igJkiXCfCu10pXHMqXFovdScsCiAgICAJJy8oPzooPzpbXCdcIuKAnl1bXC4hP+KApl1bXCdcIuKAnV1ccyl8KD86W15cLl1cc1tBLVpdXC5ccyl8KD86XGIoPzpTdHxHZW58SG9ufFByb2Z8RHJ8TXJ8TXN8TXJzfFtKU11yfENvbHxNYWp8QnJpZ3xTZ3R8Q2FwdHxDbW5kfFNlbnxSZXZ8UmVwfFJldmQpXC5ccyl8KD86XGIoPzpTdHxHZW58SG9ufFByb2Z8RHJ8TXJ8TXN8TXJzfFtKU11yfENvbHxNYWp8QnJpZ3xTZ3R8Q2FwdHxDbW5kfFNlbnxSZXZ8UmVwfFJldmQpXC5cc1tBLVpdXC5ccyl8KD86XGJBcHJcLlxzKXwoPzpcYkF1Z1wuXHMpfCg/OlxiQnJvc1wuXHMpfCg/OlxiQ29cLlxzKXwoPzpcYkNvcnBcLlxzKXwoPzpcYkRlY1wuXHMpfCg/OlxiRGlzdFwuXHMpfCg/OlxiRmViXC5ccyl8KD86XGJJbmNcLlxzKXwoPzpcYkphblwuXHMpfCg/OlxiSnVsXC5ccyl8KD86XGJKdW5cLlxzKXwoPzpcYk1hclwuXHMpfCg/OlxiTm92XC5ccyl8KD86XGJPY3RcLlxzKXwoPzpcYlBoXC4/RFwuXHMpfCg/OlxiU2VwdD9cLlxzKXwoPzpcYlxwe0x1fVwuXHB7THV9XC5ccyl8KD86XGJccHtMdX1cLlxzXHB7THV9XC5ccyl8KD86XGJjZlwuXHMpfCg/OlxiZVwuZ1wuXHMpfCg/OlxiZXNwXC5ccyl8KD86XGJldFxiXHNcYmFsXC5ccyl8KD86XGJ2c1wuXHMpfCg/Olxwe1BzfVshP10rXHB7UGV9ICkpXFovc3UnLAogICAgICAgICcvKD86KD86W1wuXHNdXHB7TH17MSwyfVwuXHMpKVxaL3N1JywKICAgICAgICAnLyg/Oig/OltcW1woXSpcLlwuXC5bXF1cKV0qICkpXFovc3UnLAogICAgICAgICcvKD86KD86XGIoPzpwcHxbVnZdaXp8aVwuP1xzKmV8W1Z2b2xdfFtScl1jb2x8bWFqfEx0fFtGZl1pZ3xbRmZdaWdzfFtWdl1penxbVnZdb2xzfFtBYV1wcHJveHxbSWldbmNsfFByZXN8W0RkXWVwdHxtaW58bWF4fFtHZ11vdnR8bGJ8ZnR8Y1wuP1xzKmZ8dnN8cXRkKVwuXHMpKVxaL3N1JywKICAgICAgICAnLyg/Oig/OlxiW0VlXXRjXC5ccykpXFovc3UnLAogICAgICAgICcvKD86KD86W1wuIT/igKZdK1xwe1BlfSApfCg/OltcW1woXSrigKZbXF1cKV0qICkpXFovc3UnLAogICAgICAgICcvKD86KD86XGJccHtMfVwuKSlcWi9zdScsCiAgICAgICAgJy8oPzooPzpcYlxwe0x9XC5ccykpXFovc3UnLAogICAgICAgICcvKD86KD86XGJbRmZdaWdzP1wuXHMpfCg/OlxiW25OXW9cLlxzKSlcWi9zdScsCiAgICAgICAgJy8oPzooPzpbXCLigJ1cJ11ccyopKVxaL3N1JywKICAgICAgICAnLyg/Oig/OltcLiE/4oCmXVtceHswMEJCfVx4ezIwMTl9XHh7MjAxRH1ceHsyMDNBfVwiXCdccHtQZX1ceHswMDAyfV0qXHMpfCg/OlxyP1xuKSlcWi9zdScsCiAgICAgICAgJy8oPzooPzpbXC4hP+KApl1bXCdcIlx4ezAwQkJ9XHh7MjAxOX1ceHsyMDFEfVx4ezIwM0F9XHB7UGV9XHh7MDAwMn1dKikpXFovc3UnLAogICAgICAgICcvKD86KD86XHNccHtMfVtcLiE/4oCmXVxzKSlcWi9zdScpOwogICAgJGFmdGVyX3JlZ2V4ZXMgPSBhcnJheSgnL1xBKD86XChccHtMfSkvdScsCiAgICAJJy9cQSg/Oikvc3UnLAogICAgICAgICcvXEEoPzpbXHB7Tn1ccHtMbH1dKS9zdScsCiAgICAgICAgJy9cQSg/OlteXHB7THV9XSkvc3UnLAogICAgICAgICcvXEEoPzpbXlxwe0x1fV18SSkvc3UnLAogICAgICAgICcvXEEoPzpbXnB7THV9XSkvc3UnLAogICAgICAgICcvXEEoPzpccHtMbH0pL3N1JywKICAgICAgICAnL1xBKD86XHB7TH1cLikvc3UnLAogICAgICAgICcvXEEoPzpccHtMfVwuXHMpL3N1JywKICAgICAgICAnL1xBKD86XHB7Tn0pL3N1JywKICAgICAgICAnL1xBKD86XHMqXHB7TGx9KS9zdScsCiAgICAgICAgJy9cQSg/Oikvc3UnLAogICAgICAgICcvXEEoPzpccHtMdX1bXlxwe0x1fV0pL3N1JywKICAgICAgICAnL1xBKD86XHB7THV9XHB7TGx9KS9zdScpOwogICAgJGlzX3NlbnRlbmNlX2JvdW5kYXJ5ID0gYXJyYXkoZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCB0cnVlLCB0cnVlKTsKICAgICRjb3VudCA9IDEzOwoKICAgICRzZW50ZW5jZXMgPSBhcnJheSgpOwogICAgJHNlbnRlbmNlID0gJyc7CiAgICAkYmVmb3JlID0gJyc7CiAgICAkYWZ0ZXIgPSBzdWJzdHIoJHRleHQsIDAsIDEwKTsKICAgICR0ZXh0ID0gc3Vic3RyKCR0ZXh0LCAxMCk7CgogICAgd2hpbGUoJHRleHQgIT0gJycpIHsKICAgICAgICBmb3IoJGkgPSAwOyAkaSA8ICRjb3VudDsgJGkrKykgewogICAgICAgICAgICBpZihwcmVnX21hdGNoKCRiZWZvcmVfcmVnZXhlc1skaV0sICRiZWZvcmUpICYmIHByZWdfbWF0Y2goJGFmdGVyX3JlZ2V4ZXNbJGldLCAkYWZ0ZXIpKSB7CiAgICAgICAgICAgICAgICBpZigkaXNfc2VudGVuY2VfYm91bmRhcnlbJGldKSB7CiAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkc2VudGVuY2VzLCAkc2VudGVuY2UpOwogICAgICAgICAgICAgICAgICAgICRzZW50ZW5jZSA9ICcnOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICRmaXJzdF9mcm9tX3RleHQgPSAkdGV4dFswXTsKICAgICAgICAkdGV4dCA9IHN1YnN0cigkdGV4dCwgMSk7CiAgICAgICAgJGZpcnN0X2Zyb21fYWZ0ZXIgPSAkYWZ0ZXJbMF07CiAgICAgICAgJGFmdGVyID0gc3Vic3RyKCRhZnRlciwgMSk7CiAgICAgICAgJGJlZm9yZSAuPSAkZmlyc3RfZnJvbV9hZnRlcjsKICAgICAgICAkc2VudGVuY2UgLj0gJGZpcnN0X2Zyb21fYWZ0ZXI7CiAgICAgICAgJGFmdGVyIC49ICRmaXJzdF9mcm9tX3RleHQ7CiAgICB9CgogICAgaWYoJHNlbnRlbmNlICE9ICcnICYmICRhZnRlciAhPSAnJykgewogICAgICAgIGFycmF5X3B1c2goJHNlbnRlbmNlcywgJHNlbnRlbmNlLiRhZnRlcik7CiAgICB9CgogICAgcmV0dXJuICRzZW50ZW5jZXM7Cn0KCiR0ZXh0ID0gIkluIGhpcyBib29rIFRoZSBTeW1wb3NpdW0sIFBsYXRvIHdyb3RlIOKAnFRob3NlIHdobyBhcmUgaGFsdmVzIG9mIGEgbWFuIHdob2xlIHB1cnN1ZSBtYWxlcywgYW5kIGJlaW5nIHNsaWNlcywgc28gdG8gc3BlYWssIG9mIHRoZSBtYWxlLCBsb3ZlIG1lbiB0aHJvdWdob3V0IHRoZWlyIGJveWhvb2QsIGFuZCB0YWtlIHBsZWFzdXJlIGluIHBoeXNpY2FsIGNvbnRhY3Qgd2l0aCBtZW7igJ0gKHF0ZC4gaW4gSXNheSAxMSkuIjsKcHJpbnRfcihzZW50ZW5jZV9zcGxpdCgkdGV4dCkpOwokdGV4dCA9ICJEci4gRXZlbHluIEhvb2tlciwgYSBoZXRlcm9zZXh1YWwgcHN5Y2hvbG9naXN0IjsKcHJpbnRfcihzZW50ZW5jZV9zcGxpdCgkdGV4dCkpOwokdGV4dCA9ICJEb2JiZW5zIHJlYXNvbmVkIHRoYXQgbW9zdCBwYXJlbnRzIHdvdWxkIG5vdCByYWlzZSB0aGVpciBjaGlsZHJlbiB0byBiZSBob21vc2V4dWFsOyDigJxUaGV54oCZcmUgbm90IGxpa2Ug4oCYTXkgY2hpbGTigJlzIGdvaW5nIHRvIGJlIGdheSHigJ3igJkgKERvYmJlbnMpLiBEb2JiZW5zIGJlbGlldmVzIHRoYXQgaGUgd2FzIGJvcm4gaG9tb3NleHVhbC4iOwpwcmludF9yKHNlbnRlbmNlX3NwbGl0KCR0ZXh0KSk7CiR0ZXh0ID0gIkRvYmJlbnMgcmVhc29uZWQgdGhhdCBtb3N0IHBhcmVudHMgd291bGQgbm90IHJhaXNlIHRoZWlyIGNoaWxkcmVuIHRvIGJlIGhvbW9zZXh1YWw7IOKAnFRoZXnigJlyZSBub3QgbGlrZSDigJhNeSBjaGlsZOKAmXMgZ29pbmcgdG8gYmUgZ2F5IeKAneKAmShEb2JiZW5zKS4gRG9iYmVucyBiZWxpZXZlcyB0aGF0IGhlIHdhcyBib3JuIGhvbW9zZXh1YWwuIjsKcHJpbnRfcihzZW50ZW5jZV9zcGxpdCgkdGV4dCkpOwokdGV4dCA9ICJJbiBhbiBpbnRlcnZpZXcgaW4gMTkwMywgaGUgcHJvZmVzc2VkIGhpcyBiZWxpZWZzOiDigJxJIGFt4oCmIG9mIHRoZSBmaXJtIGNvbnZpY3Rpb24gdGhhdCBob21vc2V4dWFscyBtdXN0IG5vdCBiZSB0cmVhdGVkIGFzIHNpY2sgcGVvcGxl4oCmIEhvbW9zZXh1YWwgcGVyc29ucyBhcmUgbm90IHNpY2suIFRoZXkgYWxzbyBkbyBub3QgYmVsb25nIGluIGEgY291cnQgb2YgbGF3IeKAnSAocXRkLiBpbiBJc2F5IDMpLiI7CnByaW50X3Ioc2VudGVuY2Vfc3BsaXQoJHRleHQpKTs=