Функция регистра предложений PHPPhp

Кемеровские программисты php общаются здесь
Anonymous
Функция регистра предложений PHP

Сообщение Anonymous »

У меня есть функция от Google для очистки моего абзаца в регистре предложений.
  • Я хочу изменить эту функцию так, чтобы она преобразовывала более двух символов новой строки в новую строку. В противном случае он преобразует все символы новой строки в пространство. Поэтому я бы хотел, чтобы это было в формате абзаца. Здесь он преобразует все символы новой строки в пробел.
  • Он преобразует правильный регистр предложений. Но в случае, если я нашел одно слово, первое слово которого является заглавным, мне нужна функция, чтобы игнорировать это. Иногда, если есть существительное, оно должно быть с заглавной буквы. Мы не можем это изменить, маленький случай. В противном случае, если существительное содержит более двух заглавных символов, кроме первого символа, преобразуйте его в нижний регистр.
Как -> Существительное => Существительное, но NoUn => существительное. Означает, что я хочу, чтобы, если кроме первого символа является заглавная буква, он преобразует его в два строчных. В противном случае он сохраняет его в том же формате.

function sentence_case($string) {
$sentences = preg_split('/([.?!]+)/', $string, -1, PREG_SPLIT_NO_EMPTY|PREG_SPLIT_DELIM_CAPTURE);
$new_string = '';
foreach ($sentences as $key => $sentence) {
$new_string .= ($key & 1) == 0?
ucfirst(strtolower(trim($sentence))) :
$sentence.' ';
}
$new_string = preg_replace("/\bi\b/", "I", $new_string);
//$new_string = preg_replace("/\bi\'\b/", "I'", $new_string);
$new_string = clean_spaces($new_string);
$new_string = m_r_e_s($new_string);
return trim($new_string);
}


Подробнее здесь: https://stackoverflow.com/questions/823 ... e-function

Вернуться в «Php»