3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); $text = <<<EOF Тест:::Тест.много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было!!!бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например::ум ума почитай?какие возникли... бы споры! ну что? не смотрел еще black mesa!я собирался скачать ,но все как-то некогда было. привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница. EOF ; /* Делает первую букву в строке заглавной */ function makeFirstLetterUppercase($text) { $text = mb_strtoupper(mb_substr($text, 0, 1)) . mb_substr($text, 1, NULL); return $text; } /* исправляет текст */ function fixText($text) { $regexpSpace = '/(\\s)*(\,)/iu'; // Удалит пробелы до запятой $regexp = '/([а-яёa-z])([\,\:\!\?\.]+)([а-яёa-z])/iu'; $sentences = preg_split('/((?<=[.?!]))/iu', $text, 0, PREG_SPLIT_NO_EMPTY); // Разбить текст foreach ($sentences as $sentence) { $sentences = trim($sentence); // Обрезает пробелы между предложениями $sentencesFix[] = makeFirstLetterUppercase($sentences); // Сделает все предложения с большой буквы } $text = implode($sentencesFix); // Собирает в текст все предложения $text = preg_replace($regexpSpace, '$2', $text); // Удаляет пробелы до запятой $text = preg_replace($regexp, '$1$2 $3', $text); // Ставит пробел после (, :, !, &, .) return $text; } echo fixText($text);

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
8.3.60.0090.01217.00
8.3.50.0160.00316.86
8.3.40.0160.00019.02
8.3.30.0120.00319.09
8.3.20.0030.00520.33
8.3.10.0050.00321.85
8.3.00.0040.00421.82
8.2.180.0120.00318.38
8.2.170.0040.01122.96
8.2.160.0140.00321.31
8.2.150.0040.00424.18
8.2.140.0040.00424.66
8.2.130.0000.00726.16
8.2.120.0050.00321.05
8.2.110.0060.00321.23
8.2.100.0110.00017.97
8.2.90.0030.00617.88
8.2.80.0000.00818.98
8.2.70.0030.00617.75
8.2.60.0000.00817.75
8.2.50.0050.00517.75
8.2.40.0080.00020.42
8.2.30.0000.00821.12
8.2.20.0000.00718.13
8.2.10.0050.00318.50
8.2.00.0000.00718.50
8.1.280.0090.00625.92
8.1.270.0000.00922.12
8.1.260.0040.00426.35
8.1.250.0080.00028.09
8.1.240.0070.00423.60
8.1.230.0170.00021.02
8.1.220.0090.00017.91
8.1.210.0000.00918.77
8.1.200.0040.00417.60
8.1.190.0060.00317.60
8.1.180.0000.00818.10
8.1.170.0040.00419.02
8.1.160.0000.00819.12
8.1.150.0040.00420.34
8.1.140.0040.00419.73
8.1.130.0000.00719.09
8.1.120.0070.00017.62
8.1.110.0040.00417.73
8.1.100.0000.00817.74
8.1.90.0040.00417.60
8.1.80.0020.00517.67
8.1.70.0000.00717.78
8.1.60.0060.00317.85
8.1.50.0000.00817.80
8.1.40.0080.00017.68
8.1.30.0050.00317.75
8.1.20.0040.00417.92
8.1.10.0040.00417.77
8.1.00.0030.00617.62
8.0.300.0050.00218.77
8.0.290.0000.00817.25
8.0.280.0050.00218.60
8.0.270.0050.00317.20
8.0.260.0000.00618.99
8.0.250.0000.00717.32
8.0.240.0040.00417.38
8.0.230.0000.00717.38
8.0.220.0030.00317.41
8.0.210.0000.00717.41
8.0.200.0040.00417.36
8.0.190.0080.00017.33
8.0.180.0040.00417.25
8.0.170.0080.00017.39
8.0.160.0000.00717.29
8.0.150.0040.00417.11
8.0.140.0050.00317.25
8.0.130.0030.00313.70
8.0.120.0040.00417.27
8.0.110.0050.00217.36
8.0.100.0000.00717.15
8.0.90.0000.00717.34
8.0.80.0110.00417.32
8.0.70.0080.00017.20
8.0.60.0040.00417.40
8.0.50.0000.00717.39
8.0.30.0100.01017.43
8.0.20.0120.00717.42
8.0.10.0040.00417.13
8.0.00.0090.01217.14
7.4.330.0000.00515.55
7.4.320.0060.00016.98
7.4.300.0000.00616.98
7.4.290.0050.00216.90
7.4.280.0030.00616.90
7.4.270.0030.00316.99
7.4.260.0000.00816.90
7.4.250.0040.00416.94
7.4.240.0070.00017.00
7.4.230.0070.00017.09
7.4.220.0100.00616.89
7.4.210.0060.01217.09
7.4.200.0000.00816.93
7.4.160.0050.01516.78
7.4.150.0130.00417.40
7.4.140.0070.01117.86
7.4.130.0120.00716.90
7.4.120.0080.00916.80
7.4.110.0040.01717.01
7.4.100.0090.00916.93
7.4.90.0100.00716.75
7.4.80.0140.00919.39
7.4.70.0000.01716.78
7.4.60.0140.00316.80
7.4.50.0040.01116.76
7.4.40.0060.01216.87
7.4.30.0060.01216.93
7.4.00.0090.00615.20
7.3.330.0030.00313.70
7.3.320.0050.00013.66
7.3.310.0040.00416.77
7.3.300.0030.00316.79
7.3.290.0080.00716.76
7.3.280.0090.01016.72
7.3.270.0070.01017.40
7.3.260.0100.01116.79
7.3.250.0130.00716.81
7.3.240.0100.00616.84
7.3.230.0160.00616.70
7.3.210.0120.00616.77
7.3.200.0110.01516.74
7.3.190.0090.00816.60
7.3.180.0120.00616.81
7.3.170.0100.01016.83
7.3.160.0130.00316.77
7.2.330.0140.00316.92
7.2.320.0130.01017.09
7.2.310.0070.01016.93
7.2.300.0080.01616.82
7.2.290.0110.00716.95
7.2.60.0110.00417.02
7.1.200.0040.00716.07
7.1.70.0080.00017.40
7.1.60.0070.02317.32
7.1.40.0200.00734.70
7.1.30.0200.01034.71
7.1.20.0100.01734.69
7.1.10.0000.01316.74
7.1.00.0030.01016.80
7.0.200.0070.00316.69
7.0.180.0000.01016.39
7.0.170.0030.01016.49
7.0.160.0030.01016.61
7.0.150.0030.00716.39
7.0.140.0000.01016.54
7.0.130.0070.01016.60
7.0.120.0000.01316.59
7.0.110.0030.00716.47
7.0.100.0030.00716.52
7.0.90.0000.01316.35
7.0.80.0030.01316.43
7.0.70.0070.00716.55
7.0.60.0030.01316.43
7.0.50.0030.01016.29
7.0.40.0070.00716.65
7.0.30.0070.00716.41
7.0.20.0000.01316.64
7.0.10.0030.00716.67
7.0.00.0030.00716.54

preferences:
56.26 ms | 401 KiB | 5 Q