php实现截取姓名中的第一个字作为头像的实战记录

php 截取中文字符串第一个字

substr 函数

在 PHP 中,使用 substr 函数来截取中文字符串的第一个字。由于 PHP 默认的字符编码是 UTF-8,它可以正确处理中文字符。

php 复制代码
$chineseString = "你好世界";
$firstChar = substr($chineseString, 0, 1);
echo $firstChar; // 输出:你

在上面的代码中,substr 函数接受三个参数:要截取的字符串、起始位置和截取的长度。我们将起始位置设置为 0,表示从字符串的第一个字符开始截取,截取的长度设置为 1,表示只截取一个字符。

请注意,如果中文字符串包含多字节字符(例如汉字),使用 substr 函数是安全的,因为它可以正确处理这些字符。

使用 mbstring 函数

如果在使用 PHP 截取中文字符串第一个字时出现乱码,可能是由于字符编码不一致或不正确导致的。以下是一些可能的解决方案:

  1. 检查字符编码:确保你的 PHP 文件和数据库使用的字符编码是一致的。常见的字符编码包括 UTF-8、GBK 等。你可以在 PHP 文件的开头添加以下代码,以确保使用 UTF-8 编码:
php 复制代码
header('Content-Type: text/html; charset=utf-8');
  1. 数据库连接设置:如果你在使用数据库,确保数据库连接的字符编码与你的应用程序一致。在连接数据库时,可以使用以下代码设置字符编码:
php 复制代码
$mysqli = new mysqli("hostname", "username", "password", "database", "port");
$mysqli->set_charset("utf8"); // 设置字符编码为 UTF-8
  1. 文件编码:检查你的 PHP 文件本身的编码是否正确。你可以使用文本编辑器(如 Notepad++)打开文件并查看文件的编码设置。确保文件的编码与你的应用程序和数据库使用的编码一致。
  2. 确保文本编辑器保存为 UTF-8 编码:如果你在编辑 PHP 文件时使用了文本编辑器,确保在保存文件时使用 UTF-8 编码。大多数现代文本编辑器都支持选择保存为 UTF-8 编码。
  3. 使用 mbstring 函数:PHP 的 mbstring 扩展提供了多字节字符处理的函数,可以帮助你更好地处理中文字符。你可以尝试使用 mb_substr 函数来截取中文字符串的第一个字,例如:
php 复制代码
$chineseString = "你好世界";
$firstChar = mb_substr($chineseString, 0, 1, "UTF-8");
echo $firstChar; // 输出:你

请注意,mbstring 函数的使用可能需要你在 PHP 文件中启用 mbstring 扩展。你可以在 PHP 配置文件(php.ini)中取消注释或添加以下行来启用 mbstring 扩展:

makefile 复制代码
extension=mbstring

HTML呈现

CSS样式表

css 复制代码
.headSculpture {
    width: 100%;
    margin-top: 35px;
    text-align: center;
}

.headSculpture .img {
    width: 100px;
    height: 100px;
    line-height: 98px;
    background-color: #fff;
    border-radius: 50px;
    border: 2px #fff solid;
    margin: 0 auto;
    font-weight: bold;
    font-size: 56px;
    padding-top: -2px;
}

.headSculpture > .depart {
    margin: 0 auto;
    margin-top: 15px;
    font-size: 15px;
    width: 160px;
    height: 30px;
    line-height: 30px;
    background-color: #00B0F0;
    border-radius: 15px;
    color: #fff;
    transform: translate(200px, 0);
   /* transition: all 1s; */
}

.headSculpture > p {
    color: #fff;
    margin-top: 10px;
}

.headSculpture .opacity {
    transform: translate(0, 0);
}

HTML容器

html 复制代码
      <div class="headSculpture">
            <div class="img">阿</div>
            <p class="depart">承德郊区联社</p>
            <p>阿拉丁  <sup class="layui-font-cyan"><i class="layui-icon layui-icon-rate-solid" style="color: #f1f1f1;"></i></sup></p>
        </div>

@漏刻有时

相关推荐
世转神风-8 分钟前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt
linksinke9 分钟前
在windows系统上搭建Golang多版本管理器(g)的配置环境
开发语言·windows·golang
君莫啸ོ11 分钟前
Android基础-SwitchCompat自定义样式
android
59803541516 分钟前
【java工具类】小数、整数转中文小写
android·java·开发语言
superman超哥16 分钟前
仓颉语言智能指针深度实战:突破 GC 与所有权的边界
c语言·开发语言·c++·python·仓颉
cike_y16 分钟前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis
捻tua馔...17 分钟前
mobx相关使用及源码实现
开发语言·前端·javascript
csj5018 分钟前
安卓基础之《(8)—中级控件(2)选择按钮》
android
液态不合群20 分钟前
【面试题】MySQL 中的索引数量是否越多越好?为什么?
android·数据库·mysql
微爱帮监所写信寄信35 分钟前
微爱帮监狱寄信写信小程序与焦作邮政系统对接技术方案
开发语言·网络协议·小程序·https·php·监狱寄信