如何获取名称的第一个字母并将其用作商店的配置文件



我想使用商店名称的第一个字母设置商店的个人资料图片。

这是我的刀片

<?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 中执行此操作。

最新更新