3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); mb_internal_encoding('utf-8'); // $text = "ну что. не смотрел еще black mesa.я собирался скачать ,но все как-то некогда было."; // Для тестов // $text = "roses are red,and violets are blue.whatever you do i'll keep it for you."; // $text = "привет.есть 2 функции,preg_split и explode ,не понимаю,в чем между ними разница."; $text = "много их в Петербурге,молоденьких дур,сегодня в атласе да бархате,а завтра , поглядишь , метут улицу вместе с голью кабацкою...в самом деле ,что было бы с нами ,если бы вместо общеудобного правила:чин чина почитай , ввелось в употребление другое,например:ум ума почитай?какие возникли бы споры!"; /* Делает первую букву в строке заглавной */ function makeFirstLetterUppercase(string $part) { return mb_strtoupper(mb_substr($part, 0, 1)).mb_substr($part, 1); } /* исправляет текст */ function fixText(string $text) { $parts = preg_split('/(?<=[.!?])+[ ]*(?=\\w)/ui', $text); foreach($parts as &$part){ $part = makeFirstLetterUppercase($part); $part = preg_replace('/[ ]*([,.;:!?]+)[ ]*/ui', '$1 ', $part); } return implode("", $parts); } $result = fixText($text); echo "{$result}\n";

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.70.0080.00818.40
8.3.60.0150.00618.56
8.3.50.0100.00717.33
8.3.40.0110.00418.92
8.3.30.0080.00818.76
8.3.20.0050.00321.77
8.3.10.0050.00323.61
8.3.00.0060.00320.86
8.2.190.0070.01020.51
8.2.180.0090.01318.62
8.2.170.0120.00319.04
8.2.160.0070.00722.96
8.2.150.0030.00525.66
8.2.140.0070.00324.66
8.2.130.0000.00719.31
8.2.120.0050.00226.35
8.2.110.0060.00322.23
8.2.100.0000.01217.96
8.2.90.0050.00317.88
8.2.80.0050.00317.97
8.2.70.0030.00518.04
8.2.60.0080.00018.18
8.2.50.0060.00318.10
8.2.40.0040.00421.18
8.2.30.0000.00719.41
8.2.20.0040.00418.27
8.2.10.0020.00519.32
8.2.00.0000.00719.29
8.1.280.0030.01225.92
8.1.270.0080.00018.87
8.1.260.0040.00426.35
8.1.250.0050.00328.09
8.1.240.0030.00623.80
8.1.230.0000.01219.13
8.1.220.0000.00817.74
8.1.210.0000.00818.77
8.1.200.0030.00617.85
8.1.190.0050.00317.60
8.1.180.0000.00818.10
8.1.170.0000.00818.94
8.1.160.0070.00019.12
8.1.150.0020.00519.17
8.1.140.0000.00722.19
8.1.130.0000.00720.33
8.1.120.0040.00417.63
8.1.110.0000.00717.66
8.1.100.0000.00817.57
8.1.90.0100.00017.70
8.1.80.0040.00417.58
8.1.70.0070.00017.74
8.1.60.0000.00917.75
8.1.50.0000.00817.69
8.1.40.0060.00317.77
8.1.30.0030.00517.90
8.1.20.0040.00417.79
8.1.10.0040.00417.61
8.1.00.0040.00417.67
8.0.300.0100.00020.07
8.0.290.0060.00317.13
8.0.280.0050.00218.55
8.0.270.0030.00317.38
8.0.260.0000.00818.60
8.0.250.0030.00317.21
8.0.240.0000.00717.19
8.0.230.0000.00717.21
8.0.220.0060.00317.31
8.0.210.0000.00717.34
8.0.200.0000.00717.21
8.0.190.0000.00817.18
8.0.180.0000.00917.27
8.0.170.0030.00617.29
8.0.160.0040.00417.28
8.0.150.0040.00417.23
8.0.140.0050.00217.19
8.0.130.0030.00313.66
8.0.120.0050.00317.25
8.0.110.0020.00517.31
8.0.100.0030.00517.24
8.0.90.0040.00417.21
8.0.80.0100.00617.26
8.0.70.0040.00417.23
8.0.60.0030.00517.32
8.0.50.0080.00017.06
8.0.30.0130.00417.19
8.0.20.0110.00817.43
8.0.10.0060.00317.15
8.0.00.0060.01217.03
7.4.330.0000.00515.55
7.4.320.0060.00016.97
7.4.300.0000.00716.96
7.4.290.0070.00016.88
7.4.280.0080.00016.84
7.4.270.0000.00716.98
7.4.260.0030.00316.89
7.4.250.0030.00616.73
7.4.240.0040.00416.95
7.4.230.0030.00316.78
7.4.220.0040.00417.06
7.4.210.0120.00316.94
7.4.200.0040.00416.70
7.4.140.0070.01217.86
7.4.130.0160.01016.70
7.4.120.0040.01416.85
7.4.110.0120.00616.71
7.4.100.0090.01316.82
7.4.90.0060.01016.67
7.4.80.0070.01019.39
7.4.70.0090.00917.11
7.4.60.0090.01316.64
7.4.50.0110.00016.83
7.4.40.0030.01316.79
7.4.00.0070.00715.28
7.3.330.0050.00013.66
7.3.320.0030.00313.61
7.3.310.0030.00316.69
7.3.300.0000.00716.62
7.3.290.0030.00316.71
7.3.280.0070.00916.60
7.3.260.0120.01016.85
7.3.240.0080.00916.66
7.3.230.0100.00716.96
7.3.210.0100.00716.79
7.3.200.0130.00616.68
7.3.190.0090.00816.57
7.3.180.0090.00616.54
7.3.170.0040.01816.69
7.3.160.0100.00716.91
7.3.120.0100.00715.10
7.3.110.0090.00615.05
7.3.100.0100.00315.28
7.3.90.0090.00915.18
7.3.80.0030.01015.21
7.3.70.0070.01014.98
7.3.60.0060.00915.22
7.3.50.0030.01015.23
7.3.40.0000.01715.28
7.3.30.0000.01415.03
7.3.20.0000.00916.71
7.3.10.0060.00716.91
7.3.00.0210.00516.31
7.2.330.0100.00716.83
7.2.320.0140.00916.85
7.2.310.0030.01316.96
7.2.300.0100.00616.89
7.2.290.0080.00816.98
7.2.250.0040.01115.35
7.2.240.0060.01214.99
7.2.230.0100.00715.21
7.2.220.0110.00715.17
7.2.210.0030.01215.24
7.2.200.0060.00315.28
7.2.190.0090.00615.16
7.2.180.0100.00715.41
7.2.170.0080.00815.20
7.2.130.0290.00816.28
7.2.120.0360.00516.35
7.2.110.0330.00816.28
7.2.100.0360.00516.27
7.2.90.0360.00316.39
7.2.80.0390.00516.38
7.2.70.0350.01116.25
7.2.60.0310.00916.39
7.2.50.0380.00616.13
7.2.40.0360.00616.27
7.2.30.0370.00616.30
7.2.20.0510.00616.07
7.2.10.0340.00916.15
7.2.00.0530.00816.22
7.1.330.0030.01016.11
7.1.320.0040.01116.19
7.1.310.0000.01415.97
7.1.300.0030.01015.82
7.1.290.0100.00315.77
7.1.280.0040.00716.14
7.1.270.0060.00616.00
7.1.260.0090.00315.86
7.1.250.0280.00815.07

preferences:
18.46 ms | 401 KiB | 5 Q