3v4l.org

run code in 300+ PHP versions simultaneously
<?php $str = 'Он бледен. Мыслит страшный путь. В его душе живут виденья. Ударом жизни вбита грудь, А щеки выпили сомненья. Клоками сбиты волоса, Чело высокое в морщинах, Но ясных грез его краса Горит в продуманных картинах. Сидит он в тесном чердаке, Огарок свечки режет взоры, А карандаш в его руке Ведет с ним тайно разговоры. Он пишет песню грустных дум, Он ловит сердцем тень былого. И этот шум… душевный шум… Снесет он завтра за целковый.'; $result = array_count_values(preg_split("~[ ,.;\r\n\t]+~u",$str, -1, PREG_SPLIT_NO_EMPTY)); var_export($result);
Output for 7.4.0 - 7.4.33, 8.0.1 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
array ( 'Он' => 3, 'бледен' => 1, 'Мыслит' => 1, 'страшный' => 1, 'путь' => 1, 'В' => 1, 'его' => 3, 'душе' => 1, 'живут' => 1, 'виденья' => 1, 'Ударом' => 1, 'жизни' => 1, 'вбита' => 1, 'грудь' => 1, 'А' => 2, 'щеки' => 1, 'выпили' => 1, 'сомненья' => 1, 'Клоками' => 1, 'сбиты' => 1, 'волоса' => 1, 'Чело' => 1, 'высокое' => 1, 'в' => 4, 'морщинах' => 1, 'Но' => 1, 'ясных' => 1, 'грез' => 1, 'краса' => 1, 'Горит' => 1, 'продуманных' => 1, 'картинах' => 1, 'Сидит' => 1, 'он' => 2, 'тесном' => 1, 'чердаке' => 1, 'Огарок' => 1, 'свечки' => 1, 'режет' => 1, 'взоры' => 1, 'карандаш' => 1, 'руке' => 1, 'Ведет' => 1, 'с' => 1, 'ним' => 1, 'тайно' => 1, 'разговоры' => 1, 'пишет' => 1, 'песню' => 1, 'грустных' => 1, 'дум' => 1, 'ловит' => 1, 'сердцем' => 1, 'тень' => 1, 'былого' => 1, 'И' => 1, 'этот' => 1, 'шум…' => 2, 'душевный' => 1, 'Снесет' => 1, 'завтра' => 1, 'за' => 1, 'целковый' => 1, )

preferences:
109.16 ms | 411 KiB | 5 Q