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

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

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

Show textarea content with CKEditor in laravel

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>

Pass database data to several divs from one loop with php and laravel

I have a paging setup, which can be shown as such:
<div class="page__A4">
</div>
<div class="page__A4">
</div>
<div class="page__A4">
</div>
Data is then passed from my SQL database using PHP, through a for loop, e.g:
#foreach($data as $value)
<div class="element">
{{$value}}
</div>
#endforeach
which would leave the final markup:
<div class="page__A4">
#foreach($data as $value)
<div class="element">
{{$value}}
</div>
#endforeach
</div>
<div class="page__A4">
</div>
<div class="page__A4">
</div>
My $value is dynamic in height, and when the amount of $value's exceeds the first page__A4 element in height, I want it to proceed to the next page.
The real issue relies in that I am unable to use Javascript. I need to print these pages to PDF, which is done by combining a laravel view with a SASS styling file - meaning javascript wont be loaded in my final printed product.
Is there a way to achieve this, using a combination of laravel/php/SASS?
You have to class="A_4" dynamic too if you want to use it in javascript.
foreach($values as $ value){
<div class="'example'.$value.">
</div>
}

Laravel: Repeating the same HTML code in one blade.php file

I'm using a View to show my create form that its quite long.
Inside this form i'm using many times the same pieces of code which is mainly divs with class names and it looks like this.
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label>**First name:** <span class="text-danger">*</span></label>
{{ Form::text('firstname',null,array('class' =>'form-control required','placeholder' =>'John'))}}
</div>
</div>
</div>
I just want to change dynamically the First name: on my label and <input>
I've tried to reuse this code with #yield and #section but if it exists more than 1 times in the same file i get the same results as the first one.
<!-- First Name -->
#section('form_input_wrapper_label', 'First Name:')
#section('form_input_wrapper_input_area')
{{ Form::text('firstname',null,array('class' =>'form-control required','placeholder' =>'John'))}}
#endsection
#include('theme_components.form_input_wrapper')
<!-- Last Name -->
#section('form_input_wrapper_label', 'Last Name:')
#section('form_input_wrapper_input_area')
{{ Form::text('lastname',null,array('class' =>'form-control required','placeholder' =>'Smith'))}}
#endsection
#include('theme_components.form_input_wrapper')
Is there any Laravel way to approach this issue?
You can use #include directive and pass variables you want:
#include('form.view', ['firstName' => $var])
Also, as #Dmytrechko mentioned in his comment, you can use #each directive if you want to iterate over an array or a collection:
#each('form.view', $names, 'firstName')
Then just move your code to new form.view and use $firstName variable as usual:
<label>First name: <span class="text-danger">{{ $firstName }}</span></label>

Categories