#php
#php
Вопрос:
Следующий код:
<?php
$str = "tom o'hare mcdonald-wittern";
$utf = mb_convert_case ( $str ,MB_CASE_TITLE , "UTF-8" );
$words = ucwords($str," '-");
echo $utf;
echo "rn";
echo $words;
Результаты в выводе:
Tom O'hare Mcdonald-Wittern
Tom O'Hare Mcdonald-Wittern
Я выполняю массовый импорт текста в формате UTF-8, и хотя mb_convert_case, похоже, работает почти так же хорошо, как ucwords с предоставленным списком разделителей, кажется, что в o’hare отсутствует буква H после ‘.
Я использую php 7.4. Как я могу достичь того же результата с помощью mb_convert_case, который я могу легко получить с помощью приведенного выше синтаксиса, используя uc_words?
Комментарии:
1. Есть ли какая-либо причина, по которой вы не можете использовать ucwords в этом случае?
2. Верхний комментарий в документах касается именно этой проблемы. php.net/manual/en/function.mb-convert-case
3. спасибо @Sammitch, я протестировал функцию, и она выполняет свою работу.