Remove HTML tags from Strings on laravel blade

2020-06-07 07:06发布

I want remove HTML tags (all) from a string on laravel blade ...

code

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

output (example)

<p>hassen zouari</p>

I want that it be like this

hassen zouari

8条回答
姐就是有狂的资本
2楼-- · 2020-06-07 07:18

use this in your code

$allcms = json_decode(strip_tags(Cms::where('status','active')->get()),true);

  return response()->json(['status' => 'success','message' =>'All CMS','data' => $allcms]);
查看更多
\"骚年 ilove
3楼-- · 2020-06-07 07:21

Add the below code into your helpers

  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);
        }
    }

& use this in your blade

{{ words($sentence, $limit = 20, $end = ' ..... more') }}
查看更多
孤傲高冷的网名
4楼-- · 2020-06-07 07:22

As for me, I use this construction:

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

I hope, my code was helpful for somebody)

查看更多
姐就是有狂的资本
5楼-- · 2020-06-07 07:23

you must know about the diffrence between {{ }} and {!! !!}

1.1) laravel have predefined you can load variable exact value by using {{$a }}

or

1.2)laravel loading with strip remove {!! $a !!}

please take it seriously this qustion answer its protect your website from cross site scripting excecution.for example if user save his name but he puted script alert.then if you using core php and not handling the strip tags then this script excution when page laod

so i give you some more harmful example 1)like i puted my name as script or in a about section and in script i write some code who get the browser cookies of open website and curl request for saving on my server.

so you understand this whats happen if i got the each user cookies by curl and i just puted a cross script in about filed and its saved in database.

查看更多
The star\"
6楼-- · 2020-06-07 07:34

Try to use strip_tags() function:

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

Update: Try to do something like this in a controller:

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

Then pass this variable into a blade template and use it instead of $subject->body.

查看更多
趁早两清
7楼-- · 2020-06-07 07:37

You can use strip_tags($yourString); to strip the html tags. In blade you could achieve this by

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

hope that is helpful :)

查看更多
登录 后发表回答