3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); //$text = "Кажется, нас обнаружили! Надо срочно уходить отсюда, пока не поздно. Бежим же скорее!"; // Другие варианты для тестов //$text = "Ну, прости меня! Не хотела я тебе зла сделать; да в себе не вольна была. Что говорила, что делала, себя не помнила."; $text = "Идет гражданская война. Космические корабли повстанцев, наносящие удар с тайной базы, одержали первую победу, в схватке со зловещей Галактической Империей."; /* Делает первую букву предложения заглавной */ function makeFirstletterUppercase($text) { return mb_strtoupper(mb_substr($text, 0, 1)).mb_substr($text, 1); } function makeYodaStyleText($text) { $text = preg_replace('/,/', '', $text); $text = mb_strtolower($text); $offers = preg_split('/([.!?;][ ])|[.!?;]/', $text, 0 , PREG_SPLIT_NO_EMPTY); foreach ($offers as &$value) { $words = array(); $words = preg_split('/[ ]/', $value, 0, PREG_SPLIT_NO_EMPTY); $words = array_reverse($words); $value = implode(" ", $words); $value = makeFirstletterUppercase($value); } $text = implode(". ", $offers); return $text; } $yodaText = makeYodaStyleText($text); echo "Йода говорит: {$yodaText}\n";

preferences:
29.17 ms | 413 KiB | 5 Q