日本語記事を全く見かけなかったので備忘録として。
多分、普通は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>