@extends('app') @php use Illuminate\Support\Facades\Storage; $item = $blog; // Функция для очистки SEO-данных от приставок с городом и "ремонт.рф" function cleanSeoData($text) { if (empty($text)) return $text; // Убираем "ремонт.рф" (в любом регистре) $text = preg_replace('/\s*ремонт\.рф\s*/iu', '', $text); // Убираем город ТОЛЬКО в конце фразы: "..., в Москве", "..., в г.Москве", "..., в Санкт-Петербурге", // а также варианты с МО. Якорим к концу строки, чтобы не трогать начало // заголовков типа "В какое время ...". $text = preg_replace('/(?:,\s*)?(?:в|во)\s+(?:г\.\s*)?[А-ЯЁ][а-яё\-]+(?:\s+[А-ЯЁ][а-яё\-]+){0,3}(?:\s+(?:области|крае|АО))?\s*$/u', '', $text); // Убираем окончания вида ", МО" или "в МО" в конце строки $text = preg_replace('/(?:,\s*)?(?:в|во)?\s*МО\s*$/u', '', $text); // Убираем специальный случай "..., в Москве и МО" в конце $text = preg_replace('/(?:,\s*)?(?:в|во)\s+(?:г\.\s*)?[А-ЯЁ][а-яё\-]+\s+и\s+МО\s*$/u', '', $text); // Убираем лишние пробелы и запятые $text = preg_replace('/\s*,\s*,/', ',', $text); // двойные запятые $text = preg_replace('/\s*,\s*$/', '', $text); // запятая в конце $text = preg_replace('/^\s*,\s*/', '', $text); // запятая в начале $text = preg_replace('/\s+/', ' ', $text); // множественные пробелы $text = trim($text, " \t\n\r\0\x0B,"); return $text; } // Для SEO $seo_title = cleanSeoData($blog->meta_title ?? $blog->title); $seo_descr = cleanSeoData($blog->meta_description ?? Str::limit(strip_tags($blog->content ?? ''), 160)); $seo_key = cleanSeoData($blog->meta_keywords ?? ''); $similarPosts = $posts->where('id', '!=', $blog->id)->take(10); $maxSlides = 4; // Максимум видимых слайдов на десктопе @endphp @section('content')

{{ $blog->title }}

background

{{ $blog->title }}

{{ $blog->sub_title }}

@if($blog->user && $blog->user->avatar) avatar

{{$blog->user->name}}

@else avatar

{{$blog->user->name ?? 'Ремонт.ру'}}

@endif

{{ $blog->created_at->format('d. m .Y') }}

@csrf
@if($blog->content)
{!! $blog->content !!}
@else

Контент не найден.

@endif {{-- @if($blog->preview_image) article @endif --}}
@csrf
@php $isAuth = auth()->check(); @endphp

Комментарии ({{ $commentCount }})

В начале новые
@foreach($comments as $comment)
@if($comment->user->avatar) avatar @else avatar @endif

{{ $comment->user->name }}

{{ $comment->comment }}

{{ $comment->created_at->format('d.m.Y') }}

@endforeach
@if($commentCount > 10)
@endif {{-- Форма добавления комментария --}}
@if($isAuth)
@csrf
@else

Чтобы оставить комментарий, пожалуйста, авторизуйтесь.

Войти
@endif

Читать похожие статьи

@if($similarPosts->count() > $maxSlides)
@endif
@foreach($similarPosts as $post)
@if($post->preview_image) article @else Professional Profile @endif

{!! Str::limit($post->title, 25) !!}

@if($post->user && $post->user->avatar) avatar @else avatar @endif

{{$post->user->name ?? 'Ремонт.рф'}}

{{$post->likes->count()}}

Перейти
@endforeach
@if(session('success')) @endif @if(session('successConfirm'))