Show textarea content with CKEditor in laravel - php

I use CKEditor in my application for edit text
when i store my text in data base it will save with tags like this :
<p>Hello world</p><p>how are you ?</p>
and in my blade when i want to display this text, it will show with tags so i use strip_tags :
<div id="detail_textarea">
{{ strip_tags($letter->text) }}
</div>
but when i look at the page, styles does not work and all the text are sticky like this :
Hello worldhow are you ?
in this case seems to <br> or <p> does not work correctly.
what can i do ?

Please use {!! !!} instead of {{ }}
Update
<div id="detail_textarea">
{!! $letter->text !!}
</div>

Related

print icon obtained from db - laravel

I want to put together a menu and get an icon dynamically.
the result i want is something like this:
Database table:
code:
<div class="card card-dashboard-eight">
<label class="main-content-label mb-1">Categoryes</label>
<span class="d-block mg-b-20 text-muted">Stores All</span>
<div class="list-group">
#foreach($tipos as $tipo)
<div class="list-group-item">
{{$tipo->icono }}
<p>{{$tipo->tipo }}</p>
</div>
#endforeach
</div>
</div>
but it prints the label not the icon
What should I do to show my icons?
I dont know the template engine you are using, but it seems to escape the html chars. maybe it just works by removing the double brackets ("{$tipo->icono}" instead of "{{$tipo->icono }}").
But for app-design reasons: i'd suggest to store just the type (or class) in the database. not an html-tag. meaning: the column "icono" should just contain f.e. "glass-martini" - instead of a complete html-tag. put the html-stuff in your template and add the class from your column there.
You have to use {!! !!} to display the raw unescaped HTML of your icon:
{!! $tipo->icono !!}
This way it doesn't get escaped with htmlspecialchars.
Basically {{ $var }} will be compiled to <?php htmlspecialchars($var); ?> and {!! $var !!} to <?php echo $var; ?>.
See the docs on how to display data in Blade templates for more information.

How to display image from an RSS Feed description using PHP Laravel

Im working in PHP Laravel to build an RSS FEED READER
I have read the XML file and it displays the title, description and link.
But the description contains image which i don't know how to display as an image.
Now the image part comes in html format as shown below:
Instead i want it to be displayed like this:
Here is my html code where the rss feed content display happens:
#foreach ($feed->item as $item)
<tbody>
<div class="card">
<div class="card-header">
{{ $item->title}}
</div>
<div class="card-header">
{{ $item->thumbnail}}
</div>
<div class="card-body">
{{$item->description}}
</div>
</div>
</tbody>
#endforeach
Can somebody please help me with this.
Thanks in advance.
You have HTML in your $item->description using the double Mustache{{ }} You are telling Laravel escape the data.
To render the HTML, you need to use instead {!! !!}
<div class="card-body">
{!! $item->description !!}
</div>
You can see more in the doc here: https://laravel.com/docs/7.x/blade#displaying-data

Laravel 5: Display HTML with Blade not all tags

I want to display data in the HTML page. The data is like some code of line. There are some HTML tags like a, p, b etc. I want to display all as a text but only 1 as a tag.
I all ready try {!! $data->text !!} but it's convert all the text in a html tags.
Model data
public function scopeText()
{
$text='Tag link <p>paragraph</p>
Text link';
return $text;
}
html.blade.php
<div>
{{ $data->text() }}
</div>
Right now it show
Tag link <p>paragraph</p> <a href="#">Text
link</a>
when I user {!! !!}
Tag link paragraph Text link
when I user {{ strip_tags($data->text()) }}
Tag link paragraph Text link
when I user {{ strip_tags($data->text(), 'a') }}
Tag link <p>paragraph</p> <a href="#">Text
link</a>
But I want
Tag link <p>paragraph</p> Text link
only 1 'a' tag want to work as a tag and other things should print as a text.

How can I display the data stored by summernote on laravel?

I implement summernote (https://github.com/summernote/summernote) on the laravel 5.3
If I input data then save, on table seems like this :
<p>1. chelsea</p><p>2. mu</p><p>3. city</p><p>4. liverpool</p><p>5. arsenal</p>
How can I display it without tag p?
So when it displayed will seems like this :
1. chelsea
2. mu
3. city
4. liverpool
5. arsenal
How can I do it?
First edit the text accordingly to your desired format inside summernote text editor, and save it.
Then you can use this blade syntax to show the text formated:
{!! message !!}
Simplest way to show:
<?php echo $variable or html code ; ?>
because in PHP, echo is used to interpret html code.
$text = "<p>1. chelsea</p><p>2. mu</p><p>3. city</p><p>4. liverpool</p><p>5. arsenal</p>";
echo strip_tags($text);
Use strip_tags php method to convert html to string.
Refernce link
#foreach ($GuideCont as $item )
<input type="text" value="{{$item->id}}" hidden>
<div class="card">
<div class="card-header border-bottom border-info">
<h3 class="card-title">{{$item->title }}</h3>
</div>
<div class="card-body">
{!!$item->description !!} {{--// SummerNote Data --}}
</div>
</div>
#endforeach

Laravel nl2br not getting foreach parameters properly

So i am currently working with nl2br. I don't know whether this is a bug, or a wrong way to doing things from my side but i encounter this. First of all, here's the snippet :
#foreach($dataList as $data)
<div class="productDesc">
{!! nl2br(e($data->product->description)) !!}
</div>
#endforeach
When i run this, the output is only the description of the first product. I initially thought there's something wrong with my code but when i do a debug like this :
#foreach($dataList as $data)
{{ $data->id }}
<div class="productDesc">
{{ $data->id }}
{!! nl2br(e($data->product->description)) !!}
</div>
{{ $data->id }}
#endforeach
The result in the 2nd row is :
2
1 This is a description for 1st product
2
As you can see, it somehow ignore the forwhile loop parameter. Can someone inform whether there's a solution for this or am i just code it wrongly ?

Categories