$re = '/(?<=[.?!;])\s+(?=\p{Lu})/';
$str = 'I visited Champasak Shadow Puppets?! Theater when I traveled Champasak province that was located in South of Laos? The small town in Champasak province that had the theater was not famous in tourist attraction for foreigner so that ? I felt so peaceful and slow time along the Mekong river ! After sunset and everyone had dinner, a puppets show started in the small theater 8.1. Some lights in darkness, wind from the Mekong river, lively U.S.A and live performances by the traditional musical instroments. Everything invited me to trip to old days in Champasak.
When I remember the special time, I miss Champasak so much.';
$subst = "\n\n";
$result = preg_replace($re, $subst, $str);
echo "The result of the substitution is ".$result;
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php