我有一个奇怪的问题,我不知道如何解决它.我想从数据库中获取Text字段的第一个字符.有了这个角色,我会应用CSS风格来实现它.
如果您尝试以下代码,您将了解我的问题:
<?php
$str_en = "I am a sentence.";
echo $str_en[0];
echo "<br /><br />";
$str_fr = "À tous les jours je fais du PHP.";
echo $str_fr[0];
echo "<br /><br />";
$str_fr = "Étais-tu ici?";
echo $str_fr[0];
?>
Run Code Online (Sandbox Code Playgroud)
上面的代码将输出:
一世
一个
一个
似乎法语字符在字符串中使用多个字节.问题是我的所有句子都不是以法国字符开头的.任何人都知道我怎么能有一个转换它的函数:
<?php
$str_fr = "Étais-tu ici?";
?>
Run Code Online (Sandbox Code Playgroud)
对此
$str_fr = "<span class='firstletter'>É</span>tais-tu ici?";
Run Code Online (Sandbox Code Playgroud)
或者也许CSS3有更好的方法来做到这一点.
bwo*_*ebi 15
参见mb_substr(http://www.php.net/manual/en/function.mb-substr.php)
$first_char = mb_substr($string, 0, 1, 'utf-8'); // You may change the forth parameter according to your needed encoding.
Run Code Online (Sandbox Code Playgroud)
mb_substr 重复编码并返回表示第一个字符的所有字节.
CSS3有一个伪类::first-letter,只选择第一个字母.
例:
你的HTML是:
<p id="french_text">Étais-tu ici?</p>
Run Code Online (Sandbox Code Playgroud)
然后你可以用CSS3解决它:
p:first-letter { /* Your properties */ }
Run Code Online (Sandbox Code Playgroud)
(Ps:现在的标准是使用::first-letter(双重双结肠而不是单个双结肠),但为了最好的向后兼容性,只使用一个双结肠)
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |