【发布时间】:2016-12-17 11:15:03
【问题描述】:
出于导航目的,我使用 substr 函数提取作者的第一个字母。名为 Žižek 的作者使用 akward 符号代替第一个字母。如果出现此名称,我将忽略此问题硬编码值。我的 db/connection 是 utf8,我的 html 是 utf8,我的文件是 utf8。
$letter='';
foreach ($authors as $value) {
if($letter!=substr($value->author->name, 0,1)){
$letter=substr($value->author->name, 0,1);
if ($value->author->name=='Žižek'){
echo '<a name="'.strtolower($letter).'"></a><span class="vbig red">ž</span>';
} else {
echo '<a name="'.strtolower($letter).'"></a><span class="vbig red">'.$letter.'</span>';
}
}
我还能做得更好吗?
【问题讨论】:
-
使用 mb_substr - 它处理多字节字符串。
标签: php codeigniter utf-8 locale