Laravel 11에서 도우미 함수를 사용하여 Markdown을 HTML로 변환

WBOY
풀어 주다: 2024-07-18 11:28:11
원래의
401명이 탐색했습니다.

Using Helper Functions to Convert Markdown to HTML in Laravel 11

이 튜토리얼에서는 League/Commonmark 라이브러리를 사용하여 Markdown 콘텐츠를 HTML로 변환하는 Laravel 애플리케이션의 도우미 함수를 만듭니다. 도우미 파일을 생성하고 이를 Laravel 프로젝트에 포함시키고 블레이드 템플릿에서 사용하는 단계를 다루겠습니다. 이 메커니즘은 Laravel 11에서 전역적으로 기능을 사용할 수 있도록 하는 데 사용됩니다.

선택 사항: 컨트롤러에서 마크다운 변환 처리

대안은 데이터를 뷰에 전달하기 전에 컨트롤러에서 마크다운 변환을 처리하는 것이므로 더 이상 도우미 파일을 만들 필요가 없습니다.

use League\CommonMark\CommonMarkConverter;

public function show($id)
{
    $course = Course::find($id);
    $converter = new CommonMarkConverter();

    $post->description = $converter->convertToHtml($post->description);

    return view('post.show', compact('post'));
}
로그인 후 복사

블레이드 템플릿에서 변환 기능을 사용할 수 있도록 도우미 파일 만들기

1단계: 리그/공통마크 설치

먼저 Composer를 통해 League/Commonmark 라이브러리를 설치합니다.

composer require league/commonmark
로그인 후 복사

2단계: helpers.php 파일 생성

다음으로 도우미 기능을 정의하기 위해 helpers.php 파일을 생성하겠습니다. 이 파일은 앱 디렉토리나 기타 원하는 위치에 배치할 수 있습니다.

touch app/helpers.php
로그인 후 복사

app/helpers.php를 열고 다음 콘텐츠를 추가하세요.

<?php

use League\CommonMark\CommonMarkConverter;

if (! function_exists('markdownToHtml')) {
    function markdownToHtml($markdown) {
        $converter = new CommonMarkConverter();
        return $converter->convertToHtml($markdown);
    }
}
로그인 후 복사

3단계: Composer에 도우미 파일 포함

Laravel이 helpers.php 파일을 자동으로 로드하도록 하려면 작곡가.json 파일을 수정하여 자동 로드 섹션 아래 helpers.php에 대한 경로를 추가해야 합니다.

"autoload": {
    "files": [
        "app/helpers.php"
    ]
}
로그인 후 복사

4단계: Composer 자동 로드 파일 재생성

composer.json을 수정한 후 다음을 실행하여 Composer 자동 로드 파일을 다시 생성합니다.

composer dump-autoload
로그인 후 복사

5단계: 블레이드 템플릿에서 도우미 기능 사용

도우미 기능이 정의되고 로드되었으므로 이제 블레이드 템플릿에서 이를 사용하여 마크다운을 HTML로 변환할 수 있습니다.

<div>
    {!! markdownToHtml($post->description) !!}
</div>
로그인 후 복사

이 튜토리얼은 블레이드 템플릿에서 사용자 정의 기능을 사용할 수 있는 방법을 보여주기 위해 제공됩니다.

위 내용은 Laravel 11에서 도우미 함수를 사용하여 Markdown을 HTML로 변환의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!