3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php $allowed_symbols = '[a-z0-9:;,!\'\s*.?()"-]'; echo (int)!preg_match("/$allowed_symbols/im", '@3'); //0 проверка отсуствия разрешенных символов echo (int)!preg_match("/^$allowed_symbols+$/i", "aaa\nb@bb\nccc"); //1 присуствуют недопустимые символы во всем тексте echo (int)!preg_match("/^$allowed_symbols+$/i", "a@aa\nbbb\nccc"); //1 присуствуют недопустимые символы во всем тексте echo (int)!preg_match("/^$allowed_symbols+$/im", "aaa\nb@bb\nccc"); //0 есть строка полностью из допустимых символов (aaa) echo (int)!preg_match("/^$allowed_symbols+$/im", "a@aa\nbbb\nccc"); //0 есть строка полностью из допустимых символов (bbb) echo (int)!preg_match_all("/^$allowed_symbols+$/i", "aaa\nb@bb\nccc", $match); //1 во всем тексте есть недопусимые символы echo (int)!preg_match_all("/^$allowed_symbols+$/im", "aaa\nb@bb\nccc", $match); //0 есть строки полностью из допустимых символов (aaa,ccc) echo preg_replace("/^$allowed_symbols+$/i", '<$0>' , "aaa\nb@bb\nccc", 1); //покажет что находит 2 пункт (1) echo preg_replace("/^$allowed_symbols+$/im", '<$0>' , "aaa\nb@bb\nccc", 1); //покажет что находит 4 пункт (0) echo '---лучше так проверять присуствие недопустимых символов--'; echo (int)preg_match('/[^a-z0-9:;,!\'\s*.?()"-]/i', "aaa\nb@bb\nccc"); //1 echo (int)preg_match('/[^a-z0-9:;,!\'\s*.?()"-]/i', "aaa\nbbb\nccc"); //0
Output for 4.3.0 - 4.4.1, 4.4.3 - 5.0.5, 5.1.1, 5.1.3 - 5.1.4, 5.1.6 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
0110010aaa b@bb ccc<aaa> b@bb ccc---лучше так проверять присуствие недопустимых символов--10
Output for 4.4.2, 5.1.2, 5.1.5
//00110010aaa b@bb ccc<aaa> b@bb ccc---лучше так проверять присуствие недопустимых символов--10
Output for 5.1.0
Fatal error: fatal flex scanner internal error--end of buffer missed in /in/YC1Vi on line 14
Process exited with code 255.