laravel - 将数据库中的 html 代码附加到页面中
Posted
技术标签:
【中文标题】laravel - 将数据库中的 html 代码附加到页面中【英文标题】:laravel - append html code from database into a page 【发布时间】:2017-06-16 23:29:42 【问题描述】:我会尽量在数据库中保持简单我有 2 个字段,名称 = 站点名称和 html = 该站点的 html 代码。
数据库如下所示:
UPDATE `websites` SET `name` = 'name', `html` = ' <title>Template 1</title> <link href="http://localhost/templates/css.css" rel="stylesheet" type="text/css"> <div class="logo"> <img class="images" id="image" src="#" > </div> <div contenteditable="true" id="content" class="draggable ui-widget-content refresh ui-draggable ui-draggable-handle" style="position: relative; left: 209px; top: 139px;"><p>Change Text inside this box</p></div> <div id="editTxt" class="refresh" contenteditable="true"> <p>This text can be by the user.</p> </div> ' WHERE `websites`.`id` = 1;
现在,当我在浏览器中输入 localhost/website/name 时,我想使用 ajax 将该数据库中的 html 代码附加到浏览器中。
我已经开始这样的事情了:
控制器:
function websites($name)
$websites = Website::all();
return view('layouts/website', ['websites' => $websites]);
$name = $websites->name;
路线:
Route::get('website/name', 'BuilderController@websites');
website.blade.php:
@extends('layouts.master') @section('title', 'Website Builder') @section('content')
<meta name="csrf-token" content=" csrf_token() " />
<div class="container template_class ">
@foreach ($websites as $website)
<a class="content-link" href=" asset($website->name )">
<img src=" asset($website->html )"/>
</a> @endforeach
</div>
</body>
<link href="asset('css/bootstrap-colorpicker.min.css')" rel="stylesheet" type="text/css">
<link href="asset('css/bootstrap-formhelpers.min.css')" rel="stylesheet" type="text/css">
<link href="asset ('//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css')" rel="stylesheet" type="text/css">
<script type="text/javascript" src="!! asset('js/bootstrap-colorpicker.min.js') !!">
</script>
<script type="text/javascript" src="!! asset('js/bootstrap-formhelpers.js') !!">
</script>
<script type="text/javascript" src="!! asset('js/template.js') !!"></script>
<script type="text/javascript" src="!! asset('js/bootstrap-filestyle.min.js') !!">
</script>
</html>
@endsection @show
谁能帮我开始?
【问题讨论】:
我不太明白这个<img src=" asset($website->html )"/>
。 $website->html
不是全是html代码吗?
是的,我一直在努力修复它,我将如何从数据库中显示该 html 代码? Blade.php 中没有太多代码会更好,所以它只显示数据库中的 html?
【参考方案1】:
你想Displaying Unescaped Data:
默认情况下,Blade 语句会自动通过 PHP 的 htmlentities 函数可以防止 XSS 攻击。如果你不想 您的数据要转义,您可以使用以下语法:
!! $website->html !!
【讨论】:
我仍然得到这个错误方法 App\Http\Controllers\BuilderController::websites() 不存在 这意味着 Laravel 在BuilderController
中找不到你的 websites
函数。这是一个完全不同的问题。
但问题是为什么 laravel 找不到它,它就在那里以上是关于laravel - 将数据库中的 html 代码附加到页面中的主要内容,如果未能解决你的问题,请参考以下文章
如何利用Python网络爬虫爬取微信朋友圈动态--附代码(下)
由于 Laravel 4 中的页脚 html 代码,页面在登录页面上再次重定向
资深程序员带你玩转深度学习中的正则化技术(附Python代码)!