strlen('Angel Gallardo Perez', 0, 15) 返回空白。但“Angel Gallardo Perez”沒有任何問題。如何使用帶有大寫重音字母的 strlen ?更長:你好。目前我在顯示客戶列表時遇到問題。由于語言是西班牙語,我必須顯示一些帶有明顯口音的字母。非大寫字母不是問題 (áéíóú),但大寫重音字母是 (áéíóú)目前顯示的名稱如下:strlen($tempnombre) > 15 ? substr($tempnombre,0,15)."..." : $tempnombre;我們的想法是,如果您有一個簡短的名稱,我會按原樣顯示。但如果它很長,我會縮短它并添加“...”當我有像 ángel 這樣的名字時,strlen 不會返回任何內容。我確信它是那個函數,并且只是那個函數,因為其他所有東西都只返回名稱 OK。如果我只是按原樣返回名稱,那么它就會完美顯示。我已經嘗試過幾件事: $tempnombre = $this->nombre; mb_convert_case(utf8_encode($tempnombre), MB_CASE_TITLE, 'UTF-8'); //NAME HERE IS STILL WORKING OK, dd($tempnombre) -> returns OK return strlen($tempnombre) > 15 ? substr($tempnombre,0,15)."..." : $tempnombre;有什么想法嗎?提前致謝。
1 回答

慕神8447489
TA貢獻1780條經驗 獲得超1個贊
發布問題后才發現它......如果有人需要它,正確的方法如下:
strlen($this->nombre) > 15 ? mb_substr($this->nombre,0,15,'UTF-8')."..." : $this->nombre;
使用 mb_substr 而不是 substr。
- 1 回答
- 0 關注
- 192 瀏覽
添加回答
舉報
0/150
提交
取消