Я анализирую HTML-текст, чтобы получить простой текст с помощью strip_tags () и работает очень хорошо. Но полученный текст не имеет пробелов после запятых и точек
Пример результата:
Lorem Ipsum Dolor Sit Amet, Concetetur … Adipiscing Elit.
Как я могу превратить это, в это:
Lorem Ipsum Dolor Sit Amet, Concetetur … Adipiscing Elit.
Думаю использовать
str_replace(',', ', ', $text);
Но для обнаружения одной или нескольких точек я не думаю, что это лучшее решение. Можно ли преобразовать в верхний регистр первую букву после точки?
Я ищу функцию для форматирования текста, но мне не повезло.
Спасибо!!
Вот функция в верхнем регистре после точки
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.' ';
}
return trim($new_string);
}
print sentence_case('HMM. WOW! WHAT?');
// Outputs: "Hmm. Wow! What?"
Других решений пока нет …