我想使用商店名称的第一个字母设置商店的个人资料图片。
这是我的刀片
<?php
$smestable = DB::table('sme_table')->get();
foreach ($smestable as $s) {
$name = $s->store_name;
?>
<div class="item">
<div class="col-xs-12 col-sm-6 col-md-2">
<span id="storename">{!! $name !!}</span>
<div id="profile"></div>
<h4 class="text-center">{!! $name !!}</h4>
<h5 class="text-center">4000,00 RSD</h5>
</div>
</div>
<?php } ?>
这是我的JavaScript
<script type="text/javascript">
$(document).ready(function(){
var storename = $('#storename').text();
var intials = $('#storename').text().charAt(0);
var profile = $('#profile').text(intials);
});
</script>
这是我的 CSS
#profile {
width: 150px;
height: 150px;
border-radius: 50%;
background: #512DA8;
font-size: 35px;
color: #fff;
text-align: center;
line-height: 150px;
margin: 20px 0;
}
我想使用商店名称的第一个字母设置每个商店的个人资料图片,但只有一个字母给出。这是结果。
这是我的结果
如果你使用的是Blade - 那就去做吧。
@foreach
+ {{ }}
代替{!! !!}
@foreach ($smestable as $sme)
<div class="item">
<div class="col-xs-12 col-sm-6 col-md-2">
<span id="storename">{{ $sme->store_name }}</span>
<div id="profile">{{ substr($sme->store_name, 0, 1) }}</div>
<h4 class="text-center">{{ $sme->store_name }}</h4>
<h5 class="text-center">4000,00 RSD</h5>
</div>
</div>
@endforeach
正如注释所建议的,您可以使用 PHP 提取第一个字符,字符串可以被视为数组,如下所示:
<div class="item">
<div class="col-xs-12 col-sm-6 col-md-2">
<span id="storename">{!! $name !!}</span>
<div id="profile">{!! strtoupper($name[0]) !!}</div>
<h4 class="text-center">{!! $name !!}</h4>
<h5 class="text-center">4000,00 RSD</h5>
</div>
</div>
您可以更改以下代码行:
<div id="profile"></div>
自
<div id="profile"><?php echo substr ($name , 0 ,1 ); ?></div>
这将从名称中选取第一个字符并在渲染时显示它,因此您不需要在 JS 中执行此操作。