3v4l.org

run code in 300+ PHP versions simultaneously
<?php function stripNonValidCharaters ($message) { $validGSMKeycodes = [ 0x0040, 0x0394, 0x0020, 0x0030, 0x00a1, 0x0050, 0x00bf, 0x0070, 0x00a3, 0x005f, 0x0021, 0x0031, 0x0041, 0x0051, 0x0061, 0x0071, 0x0024, 0x03a6, 0x0022, 0x0032, 0x0042, 0x0052, 0x0062, 0x0072, 0x00a5, 0x0393, 0x0023, 0x0033, 0x0043, 0x0053, 0x0063, 0x0073, 0x00e8, 0x039b, 0x00a4, 0x0034, 0x0035, 0x0044, 0x0054, 0x0064, 0x0074, 0x00e9, 0x03a9, 0x0025, 0x0045, 0x0045, 0x0055, 0x0065, 0x0075, 0x00f9, 0x03a0, 0x0026, 0x0036, 0x0046, 0x0056, 0x0066, 0x0076, 0x00ec, 0x03a8, 0x0027, 0x0037, 0x0047, 0x0057, 0x0067, 0x0077, 0x00f2, 0x03a3, 0x0028, 0x0038, 0x0048, 0x0058, 0x0068, 0x0078, 0x00c7, 0x0398, 0x0029, 0x0039, 0x0049, 0x0059, 0x0069, 0x0079, 0x000a, 0x039e, 0x002a, 0x003a, 0x004a, 0x005a, 0x006a, 0x007a, 0x00d8, 0x001b, 0x002b, 0x003b, 0x004b, 0x00c4, 0x006b, 0x00e4, 0x00f8, 0x00c6, 0x002c, 0x003c, 0x004c, 0x00d6, 0x006c, 0x00f6, 0x000d, 0x00e6, 0x002d, 0x003d, 0x004d, 0x00d1, 0x006d, 0x00f1, 0x00c5, 0x00df, 0x002e, 0x003e, 0x004e, 0x00dc, 0x006e, 0x00fc, 0x00e5, 0x00c9, 0x002f, 0x003f, 0x004f, 0x00a7, 0x006f, 0x00e0 ]; $count = 0; for($i = 0; $i < strlen($message); $i++) { if(!in_array(hexdec(bin2hex(mb_substr($message, $i, 1))), $validGSMKeycodes, true)) { $message[$i] = ''; $count++; } } return ['message' => $message, 'replacements' => $count]; } $msg = "pусский алфавит"; $tmp['message'] = ''; while ($tmp['message'] != $msg) { $tmp = stripNonValidCharaters($msg); $msg = $tmp['message']; } var_dump(trim($msg)); for($i = 0; $i < strlen($msg); $i++) { var_dump(hexdec(bin2hex(mb_substr($msg, $i, 1)))); }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught Error: Cannot assign an empty string to a string offset in /in/94U7g:25 Stack trace: #0 /in/94U7g(37): stripNonValidCharaters('p\xD1\x83\xD1\x81\xD1\x81\xD0\xBA\xD0\xB8\xD0\xB9 \xD0...') #1 {main} thrown in /in/94U7g on line 25
Process exited with code 255.
Output for 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 Warning: Cannot assign an empty string to a string offset in /in/94U7g on line 25 string(28) "pусский алфавит" int(112) int(53635) int(53633) int(53633) int(53434) int(53432) int(53433) int(32) int(53424) int(53435) int(53636) int(53424) int(53426) int(53432) int(53634) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0)
Output for 5.6.0 - 5.6.38, 7.0.0 - 7.0.33
string(1) "p" int(112) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(32) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(0)
Output for 5.4.0 - 5.4.45, 5.5.0 - 5.5.38
string(27) "p��� ��" int(112) int(209) int(0) int(209) int(0) int(209) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(32) int(0) int(0) int(0) int(0) int(209) int(0) int(0) int(0) int(0) int(0) int(0) int(0) int(209) int(0)
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/94U7g on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/94U7g on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/94U7g on line 4
Process exited with code 255.

preferences:
321.69 ms | 401 KiB | 422 Q