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>

@漏刻有时

相关推荐
damoluomu5 天前
挑 PHP CMS 之前,先学会看它的协议
php
小羊没烦恼!5 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
千里马学框架5 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone5 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
伞伞悦读5 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
致远ccc5 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
C语言小火车5 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁5 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
ttyyttemo5 天前
Kotlin 协程中的 Job 结构化并发与取消
android