v2.5.2
Giriş yap

foreach de mb_substr sorunu

rephp7
396 defa görüntülendi
  <div class="row">
    <?php
   ....
   $yazarlarimiz = explode(',', $veri[0]["yazarx"]);

   foreach ($yazarlarimiz as $yazarpin) { ?>

      <span class="yazar">
        <h4><?php echo mb_substr($yazarpin, 0, 1, 'UTF-8'); ?></h4>
      </span>
      <div class="user-block">
        <span class="username"><a href=""><?=$yazarpin?></a>
        </span>
        <span class="description">eposta:</span>
      </div>
      <?php } ?>
    </div> 

Merhaba yukarıdaki kod ile, yazarlar sütunundan virgül ile ayrılmış olan yazar adlarını explode yapıp
foreach ile döndürüyorum.

Sorun şurda:
<?php echo mb_substr($yazarpin, 0, 1, 'UTF-8'); ?>
sadece birinci yazarın baş harfini getiriyor, diğer yazarların adlarının baş harfi gelmiyor.

Şöyle yaparsamda:
<?php echo mb_substr($yazarpin, 0, 2, 'UTF-8'); ?>

Bu defa da birinci yazarın adından ilk iki harfi getiriyor ve diğer yazarların adının ilk harfi görünüyor.

Nasıl bu durumu düzeltebilirim?

rephp7
958 gün önce

@abdullahx, teşekkürler hocam siz cevap yazarken bende başka bir şey daha buldum, o şekilde de çalışıyor. Ek olarak buraya onu da yazayım faydalanan olur belki:
array_map ile trim kullanınca da doğru çıktı verdi.

$yazarlarimiz = array_map('trim', explode(',', $veri[0]["yazarx"]));

İki yöntemde oluyor hangisini seçmeliyim sizce?