После каждого 6 пробела поставить точку. PHP

127
19 декабря 2017, 19:09

Существует такой текст

мама мыла раму хочешь кататься люби и саночки возить

Нужно сделать так, чтобы после каждого 6 пробела поставить точку, а следующий символ становился с большой буквы.

Конечный результат был таковым

мама мыла раму хочешь кататься люби. И саночки возить

Answer 1

Ещё вариант в коллекцию ответов:

$str = 'мама мыла раму хочешь кататься люби и саночки возить.';
$exp = explode(' ', $str);
foreach ($exp as $k => $item) {
    if ($k > 0 && !($k % 6)) {
        $exp[--$k] = $exp[$k] .'.';
        $temp = preg_split('~~u', $item, -1, PREG_SPLIT_NO_EMPTY);
        $temp[0] = mb_strtoupper($temp[0], 'UTF-8');
        $exp[++$k] = join($temp);
    }
}
echo join(' ', $exp);

мама мыла раму хочешь кататься люби. И саночки возить

Answer 2
$str = "мама мыла раму хочешь кататься люби и саночки возить";
$arr = explode(" ", $str);
for ($i = 6; $i < sizeof($arr); $i += 6) {
    $arr[$i-1] = $arr[$i-1] . ".";
    $arr[$i] = mb_convert_case($arr[$i], MB_CASE_TITLE);
}
echo join(" ", $arr);

Пример

Answer 3

Вот как вариант, писал можно сказать на коленке, проверяйте.

$str = "мама мыла раму хочешь кататься люби и саночки возить";
$countSpace = explode(' ' , $str);
$result = "";
for($i = 0; $i < count($countSpace); $i++)
{
  if($i > 0 && $i%5 == 0)
    {
      $countSpace[$i] = str_replace($countSpace[$i], $countSpace[$i].". ", $countSpace[$i]);//$result .= str_replace($countSpace[$i], $countSpace[$i].", ", $countSpace[$i]);
    }
  else if($i > 0 && $i%6 == 0)
    {
      $string = $countSpace[$i];
      $char = mb_strtoupper(substr($string,0,2), "utf-8");
      $string[0] = $char[0];
      $string[1] = $char[1];
      $countSpace[$i] = $string." ";
    }
  else
    {
      $countSpace[$i] = $countSpace[$i]." ";
    }
  $result .= $countSpace[$i];
}
echo $result;
READ ALSO
Данные не возвращаются от сервера JSONP

Данные не возвращаются от сервера JSONP

Помогите получить ответ от сервераЕсть функция выполнения запросов в формате JSONP c помощью тега script

134
Локализация laravel 5.4

Локализация laravel 5.4

Всем доброго времени сутокПодскажите пожалуйста столкнулся с такой задачей

217
График + PHP + MySQL

График + PHP + MySQL

Делаю лабу в институтеТребуемые библиотеки flot, pchart v1

143
РА3РАБОТАТЬ ПРОГРАММУ [требует правки]

РА3РАБОТАТЬ ПРОГРАММУ [требует правки]

Разработать программу, расставляющую скобки во введенном арифметическом выражении с целью максимизации его значенияTo develop the program, set the brackets...

257