3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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(ord($message[$i]), $validGSMKeycodes)) { $message[$i] = ''; $count++; } } return ['message' => $message, 'replacements' => $count]; } $msg = "pусский алфавит"; $tmp['message'] = ''; while ($tmp['message'] != $msg) { $tmp = stripNonValidCharaters($msg); $msg = $tmp['message']; } var_dump($msg); for($i = 0; $i < strlen($msg); $i++) { var_dump(ord($msg[$i])); }
based on uXDeE
Output for 7.1.0
Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 Warning: Cannot assign an empty string to a string offset in /in/9dOaa on line 25 string(28) "pусский алфавит" int(112) int(209) int(131) int(209) int(129) int(209) int(129) int(208) int(186) int(208) int(184) int(208) int(185) int(32) int(208) int(176) int(208) int(187) int(209) int(132) int(208) int(176) int(208) int(178) int(208) int(184) int(209) int(130)
Output for 5.4.0 - 5.6.28, hhvm-3.10.0 - 3.13.2, 7.0.0 - 7.0.14
string(28) "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.3.29
Parse error: syntax error, unexpected '[' in /in/9dOaa on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/9dOaa on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/9dOaa on line 4
Process exited with code 255.