3v4l.org

run code in 300+ PHP versions simultaneously
<?php function firstNWords(string $string, int $limit = 3) { return preg_replace("/(?:\W*\w+){{$limit}}\K.*/", '', $string); } var_dump(firstNWords("hello yes, world wah ha ha")); # => "hello yes, world" var_dump(firstNWords("hello yes,world wah ha ha")); # => "hello yes,world" var_dump(firstNWords("hello yes world wah ha ha")); # => "hello yes world" var_dump(firstNWords("hello yes world")); # => "hello yes world" var_dump(firstNWords("hello yes world.")); # => "hello yes world" var_dump(firstNWords("hello yes")); # => "hello yes" var_dump(firstNWords("hello")); # => "hello" var_dump(firstNWords("a")); # => "a" var_dump(firstNWords("")); # => ""
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.19, 8.3.0 - 8.3.7
string(16) "hello yes, world" string(15) "hello yes,world" string(15) "hello yes world" string(15) "hello yes world" string(15) "hello yes world" string(9) "hello yes" string(5) "hello" string(1) "a" string(0) ""

preferences:
96.48 ms | 403 KiB | 123 Q