3v4l.org

run code in 300+ PHP versions simultaneously
<?php $sentence = "One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen."; for ($i = 1; $i <= 15; $i++) { if (preg_match('/^((?>(\s*\S+){' . $i . ',}?(?<=\.)))[^.]+\.\s*\S/', $sentence, $match)) { echo "Summary {$i}: {$match[1]}\n"; } else { echo "Full text {$i}: {$sentence}\n"; } }
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9, 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40, 7.0.0 - 7.0.33, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Summary 1: One two three. Summary 2: One two three. Summary 3: One two three. Summary 4: One two three. Four five six. Summary 5: One two three. Four five six. Summary 6: One two three. Four five six. Summary 7: One two three. Four five six. Seven eight nine. Summary 8: One two three. Four five six. Seven eight nine. Summary 9: One two three. Four five six. Seven eight nine. Full text 10: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen. Full text 11: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen. Full text 12: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen. Full text 13: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen. Full text 14: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen. Full text 15: One two three. Four five six. Seven eight nine. Ten eleven twelve. Thirteen fourteen fifteen.

preferences:
365.53 ms | 408 KiB | 456 Q