web-dev-qa-db-ja.com

laravel bladeの文字列からHTMLタグを削除する

laravel blade ...の文字列からHTMLタグ(すべて)を削除したい.

コード

{!! \Illuminate\Support\Str::words($subject->body, 5,'...')  !!}

出力(例)

<p>hassen zouari</p>

このようになりたい

hassen zouari
25
hassen zouari

strip_tags()関数を使用してみてください:

http://php.net/manual/en/function.strip-tags.php

更新:コントローラで次のようなことを試してください:

$taglessBody = strip_tags($subject->body);

次に、この変数をブレードテンプレートに渡し、$subject->bodyの代わりに使用します。

49
Alexey Mezenin

Strip_tags($ yourString);を使用できます。 htmlタグを削除します。ブレードでは、これを達成することができます

{{ strip_tags($yourString) }} 
//if your string is <h1> my string </h1>
//output will be my string.

お役に立てば幸いです:)

11
Sahith Vibudhi

私に関しては、この構造を使用します。

{!! str_limit(strip_tags($post->text), $limit = 50, $end = '...') !!}

私のコードが誰かに役立つことを願っています)

4
Paul Basenko

使用できます

{{ strip_tags( $value->description ) }}
2
upendtu

以下のコードをヘルパーに追加します

_  if (! function_exists('words')) {
        /**
         * Limit the number of words in a string.
         *
         * @param  string  $value
         * @param  int     $words
         * @param  string  $end
         * @return string
         */
        function words($value, $words = 100, $end = '...')
        {
            return \Illuminate\Support\Str::words($value, $words, $end);
        }
    }
_

ブレードでこれを使用します

{{ words($sentence), $limit = 20, $end = ' ..... more') }}

2
Wahsei

こうするだけで{!! $value !!}はあなたの問題を解決します