Есть ли функция или способ получения слов CAPS в предложении или строке? Пример: $str = "ABOUT US who we are"
как я могу идентифицировать и получать заглавные слова "ABOUT US"
и отделять его на маленькие буквы "who we are"
? Так что выход будет $str1 = "ABOUT US"
и $str2 = "who we are"
… спасибо!
Вы можете использовать для него регулярное выражение:
preg_match_all('/\b([AZ]+)\b/', $str, $matches);
Чтобы соответствовать строчным словам, используйте это:
preg_match_all('/\b([az]+)\b/', $str, $matches2);
Затем вы можете использовать такие функции, как implode()
для построения строк.
В дополнение к решению регулярных выражений PHP имеет функцию neato ctype_upper (), которая проверяет, является ли строка в верхнем регистре. Вы можете кормить текст, который вы обрабатываете через него по одному символу за раз. Если он возвращает true, добавьте символ к вашей $str1
. Когда он вернет false, добавьте оставшуюся часть строки в строку $str2
.
Для большей гибкости вы можете создавать $ str1 и $ str2 элементы в массиве. Затем вы можете добавлять новый элемент каждый раз, когда текст, который вы разбираете, меняет регистр. Например, текст "HELLO AND welcome to STACKOVERFLOW bro"
закончится как ["HELLO AND", "welcome to", "STACKOVERFLOW", "bro"]
. Или у вас могут быть отдельные массивы для строчных и строчных фрагментов текста.