cari

Rumah  >  Soal Jawab  >  teks badan

Tunjukkan hanya nama dalam pembolehubah yang sama

<p>Saya mempunyai pembolehubah dalam PHP: </p> <pre class="brush:php;toolbar:false;"><p><?php echo $this->userInfo->name;?></p></pre> <p>Ini akan mengeluarkan nama pertama dan nama keluarga mereka (iaitu Joe Bloggs)</p> <p>Saya hanya mahu memaparkan watak pertama nama pertama dan nama keluarga mereka (iaitu Joe B)</p> <p>Saya boleh menunjukkan aksara pertama nama mereka dan menyembunyikan yang lain dengan melakukan perkara berikut dalam CSS: </p> <pre class="brush:php;toolbar:false;">p { penglihatan: tersembunyi; } p::huruf pertama { visibility: nampak; }</pre> <p>Saya fikir saya boleh menggunakan fungsi dalam PHP, seperti ini: </p> <pre class="brush:php;toolbar:false;">function abbreviateName($this->userInfo->name) { if($this->userInfo->name == "") kembali ""; $tmp = explode(" ", $this->userInfo->name, 2) if(count($tmp)<=1) { kembalikan ucwords($tmp[0])."."; } lain { $fn = ucwords($tmp[0]); $ln = ucwords(substr($tmp[1],0,1); pulangkan $fn.". ".$ln."."; } }</pre> <p>Tetapi ia tidak berkesan</p>
P粉899950720P粉899950720490 hari yang lalu637

membalas semua(2)saya akan balas

  • P粉642920522

    P粉6429205222023-09-06 00:55:37

    Dengan mengandaikan sentiasa ada ruang, anda boleh pergi dari permulaan rentetan ke subrentetan selepas indeks ruang.

    substr($this->userInfo->name, 0, strpos($this->userInfo->name, " ") + 2);
    

    balas
    0
  • P粉680487967

    P粉6804879672023-09-06 00:32:08

    Baiklah, jadi saya datang dengan penyelesaian yang bagus dan mudah:

    [$first_name, $last_name] = explode(' ', $this->userInfo->name);
    
    echo  $first_name . " " . substr($last_name, 0, 1);

    Nampak sangat berkesan!

    balas
    0
  • Batalbalas