我正在使用Laravel 5和Bootstrap 3.3.4
所以我的控制器中有以下代码:
$articles = Newsarticles::paginate(10);
return view ('news',compact('articles');
然后在我看来,我有:
@foreach($articles as $article)
<article>
<h2>
<a href="{!! action('DynamicPages@show', [$article->slug]) !!}">{!! $article->headline !!}</a>
</h2>
<div class="body">
{!! substr($article->article,0,500) !!}
</div>
</article>
@endforeach
{!! $articles->render() !!}
当我运行它时,页面底部的分页链接就会很好,并且看起来应该这样做。但是,如果我将控制器更改为:
$articles = Newsarticles::orderBy('artdate','DESC')->paginate(10);
我的分页链接如下:
«
1
2
3
4
5
6
»
代码中的一个小调整如何打破css?
答案 0 :(得分:1)
没有转义标签,而且打开的HTML标签正在杀掉css。感谢@minioz指出它
答案 1 :(得分:1)
根据我上面的评论。
问题是破解的html标签。这是因为在这一行使用了substr()。
{!! substr($article->article,0,500) !!}
该功能将删除部分$article->article
并打开一些标签。
要解决问题,您需要在执行substr()
之前删除标记{!! substr(strip_tags($article->article),0,500) !!}
答案 2 :(得分:0)
使用substr($ article-&gt;文章,0,500),您可能会破解HTML代码。
您还可以拥有不同数量的可行字符
p>hello</p>
12个字符
<stong>hello</strong>
21个字符。
并注意这一点:
echo substring('<p>hello</p>', 5);
写道:&#34;
他&#34;。 Breack html结果。
尝试
substr(strip_tags($article->article,0,500))
在剪切字符串之前删除所有html标签。这不会破坏你当前的HTML,你将获得正确的字符长度。
答案 3 :(得分:0)
没有足够的信息可以回答 - 但三大可能性是
不知何故,你在每个例子中呈现不同的HTML
页面上的其他CSS不是防弹的,它会根据标题和内容长度创建不同的容器包装
$article->article
,$article->slug
或$article->headline
中的HTML内容包含打开布局的未关闭标记(或干扰页面CSS的意外标记/样式/类)
制作不同请求页面的原始页面源(View - &gt; Developer - &gt; View Source in Chrome)的副本,然后通过diff程序(CLI diff
,WinMerge, opendiff
等)发现任何渲染差异。
假设没有,请调查每个内容区域以查找损坏的标签,然后开始使用不同的长度标题和文本正文区域填充布局,直到触发问题,然后从那里修复CSS。
祝你好运!