Edited at

Laravel5でTextileを使う

日本語記事を全く見かけなかったので備忘録として。

多分、普通はMarkdown使うんだろうけど、今回の要件は

Textileのほうが適しているかなと思ったのでこっちにしてみた次第。


要件


  • 以下の3つの文字装飾が出来るようにすること。ただし、HTML直打ちは禁止。


    • 太字

    • 小文字

    • 赤字




インストール

このサイトのドキュメントを参考にした

https://github.com/textile/php-textile


bash

composer require netcarver/textile


インストールが出来たら、config/app.php にエイリアス登録


config/app.php

    'aliases' => [

'Textile' => Netcarver\Textile\Parser::class,

],



使い方

小文字(smallタグ)はなさげなので、classでやることにした


resources/views/example.blade.php

@php

$textile = new Textile;
$textile = $textile -> setBlockTags(false);
@endphp

<p>{!! $textile -> parse("これは *太字*です") !!}</p>
<p>{!! $textile -> parse("これは %(small)小文字%です") !!}</p>
<p>{!! $textile -> parse("これは %{color:red}赤字%です") !!}</p>



出力

<p>これは <strong>太字</strong>です</p>

<p>これは <span class="small">小文字</span>です</p>
<p>これは <span style="color:red;">赤字</span>です</p>