输出 blade 变量时空格太多?
Too many whitespaces when outputting blade variables?
背景知识:我正在尝试在 blog-style 网络应用程序中创建 user-editable 页面。该应用程序由多个页面组成,内容包含在一个页面中;从 back-end 动态生成并在另一个下方布置。
注意:我是 Laravel 新手。
页面内容保存在数据库中;一条 DB 记录 = 页面标题 + 内容。我检索所有记录并将它们发送到模板:
class ContentController extends Controller {
var $current_content;
public function __construct() {
$this->current_content = Content::all();
}
public function serveContent() {
return View::make('home')->with('pages', $this->current_content);
}
}
在模板中,我使用新检索的数据遍历 object 并显示每个页面的内容:
@foreach($pages as $page)
<section class="page">
<div class="editable-page" id="{{ $page->page }}">
{{ $page->content }}
</div>
<div hidden class="editable-page-edit-mode" id="{{ $page->page }}">
<textarea class="page-edit">
{{ $page->content }}
</textarea>
</div>
<input hidden type="button" class="edit-btn" value="Edit {{ $page->page }} section"/>
</section>
@endforeach
(textarea为编辑模式,内容同上,只是这次会传回DB)。
问题是,当使用 {{ $page->content }}
输出变量内容时,似乎引入了荒谬的空格数量。
该部分在浏览器中的外观如下:http://prntscr.com/bzeu4l
以下是幕后发生的事情:http://prntscr.com/bzets2
通常情况下,它与我完全无关,因为内容显示正确。但是当我取消隐藏文本区域时,很明显它接收到完全相同的数据,但有空格:http://prntscr.com/bzeum8
这是个大问题,因为我不希望数据库值被空格覆盖。
我 可以 通过使用正则表达式并在我保存数据时去除超过 2 个空格的内容来解决这个问题。但这感觉像是一种解决方法,而不是解决方案。
有人知道解决这个问题的优雅方法吗?由于我是 Laravel 新手,所以我很可能遗漏了一些关于在 Blade.
中显示变量值的明显信息
提前致谢。
PS:如果有人对我的方法有任何建议/如果我对textarea的方法有缺陷,我热烈欢迎批评。
另外,我对页面的模糊布局感到非常抱歉,它仍处于非常初级的阶段。如果不明显,'testhomecontent' 和 'testservices' 实际上是 $page[0]->content 和 $page[1]->content。
在 blade 中,当内容之间的所有空格都被保留时。因此,要摆脱空格,请更改以下代码
<div hidden class="editable-page-edit-mode" id="{{ $page->page }}">
<textarea class="page-edit">
{{ $page->content }}
</textarea>
</div>
为此:
<textarea class="page-edit">{{ $page->content }}</textarea>
改变
<textarea class="page-edit">
{{ $page->content }}
</textarea>
到
<textarea class="page-edit">{{ $page->content }}</textarea>
背景知识:我正在尝试在 blog-style 网络应用程序中创建 user-editable 页面。该应用程序由多个页面组成,内容包含在一个页面中;从 back-end 动态生成并在另一个下方布置。
注意:我是 Laravel 新手。
页面内容保存在数据库中;一条 DB 记录 = 页面标题 + 内容。我检索所有记录并将它们发送到模板:
class ContentController extends Controller {
var $current_content;
public function __construct() {
$this->current_content = Content::all();
}
public function serveContent() {
return View::make('home')->with('pages', $this->current_content);
}
}
在模板中,我使用新检索的数据遍历 object 并显示每个页面的内容:
@foreach($pages as $page)
<section class="page">
<div class="editable-page" id="{{ $page->page }}">
{{ $page->content }}
</div>
<div hidden class="editable-page-edit-mode" id="{{ $page->page }}">
<textarea class="page-edit">
{{ $page->content }}
</textarea>
</div>
<input hidden type="button" class="edit-btn" value="Edit {{ $page->page }} section"/>
</section>
@endforeach
(textarea为编辑模式,内容同上,只是这次会传回DB)。
问题是,当使用 {{ $page->content }}
输出变量内容时,似乎引入了荒谬的空格数量。
该部分在浏览器中的外观如下:http://prntscr.com/bzeu4l
以下是幕后发生的事情:http://prntscr.com/bzets2
通常情况下,它与我完全无关,因为内容显示正确。但是当我取消隐藏文本区域时,很明显它接收到完全相同的数据,但有空格:http://prntscr.com/bzeum8
这是个大问题,因为我不希望数据库值被空格覆盖。
我 可以 通过使用正则表达式并在我保存数据时去除超过 2 个空格的内容来解决这个问题。但这感觉像是一种解决方法,而不是解决方案。
有人知道解决这个问题的优雅方法吗?由于我是 Laravel 新手,所以我很可能遗漏了一些关于在 Blade.
中显示变量值的明显信息
提前致谢。
PS:如果有人对我的方法有任何建议/如果我对textarea的方法有缺陷,我热烈欢迎批评。
另外,我对页面的模糊布局感到非常抱歉,它仍处于非常初级的阶段。如果不明显,'testhomecontent' 和 'testservices' 实际上是 $page[0]->content 和 $page[1]->content。
在 blade 中,当内容之间的所有空格都被保留时。因此,要摆脱空格,请更改以下代码
<div hidden class="editable-page-edit-mode" id="{{ $page->page }}">
<textarea class="page-edit">
{{ $page->content }}
</textarea>
</div>
为此:
<textarea class="page-edit">{{ $page->content }}</textarea>
改变
<textarea class="page-edit">
{{ $page->content }}
</textarea>
到
<textarea class="page-edit">{{ $page->content }}</textarea>