服务端(PHP)函数_字符串操作
文档概述
轻语言网站**后端(PHP)**开发中的字符串相关操作函数、基于PHP mbstring扩展处理多语言文本,包含文本分割、连接、大小写转换、MD5加密、文本截取、替换、查找等功能,常用于文本处理、数据格式化、字符串操作等场景,注意使用该类型函数时需开启PHP的'mbstring'扩展。
⚠️ 使用限制说明:
- 本文档内函数仅限在轻语言后端文件
.sph代码中使用,用于编写服务端逻辑(编译后输出为 PHP 代码在服务器执行)。- 不得在编写前端页面
.spl代码中使用,更禁止与 JS 代码混合使用。- 编写前端请使用
前端(JavaScript)函数_*类目下的中文函数;服务端只能使用服务端(PHP)函数_*类目下的中文函数。- 前后端虽存在同名函数(如
取文本长度、到大写、到小写、分割文本),但底层实现与运行环境完全不同,严禁混用。
💡 PHP 原生英文函数使用说明:
- 轻语言后端支持直接调用 PHP 原生英文函数(如
print_r()、mb_strlen()、str_repeat()、nl2br()等)。- 当遇到轻语言未封装中文函数、但 PHP 原生函数可用时,可直接使用原生英文函数。
- 仅支持使用原生英文函数名,严禁使用 PHP 原生语法格式和英文关键字(如
if(){}、for(){}、function、class、echo等控制结构与语法关键字)。- 控制结构必须使用轻语言中文关键字:
如果...否则...结束 如果、变量循环...结束循环、函数 ... 结束 函数等。- 注:
->(对象方法调用)、=>(数组键值分隔)为轻语言本身支持的语法符号,可正常使用。
PHP 字符串相关特性:
- 多字节支持:
取子文本/寻找文本/倒找文本基于 PHPmb_*系列,支持中文(UTF-8,一字3字节) - 字节 vs 字符:
取字节子文本/翻转字节/子字节替换按字节操作,处理中文可能乱码;取子文本按字符操作 - MD5加密:
取MD5对应 PHPmd5(),常用于密码哈希 - 大小写转换:
到大写/到小写对应 PHPstrtoupper/strtolower - 空白处理:
删首空/删尾空/删首尾空对应ltrim/rtrim/trim - 分割连接:
分割文本/数组到文本对应explode/implode - 扩展依赖:使用多字节函数(含
取子文本等)需开启 PHPmbstring扩展
函数:分割文本(分割符,待分割文本)
用指定的分割符分割指定的文本字符串、并返回分割后的数组。
' 使用逗号分割字符串
变量 分割结果 = 分割文本(",", "苹果,香蕉,橙子,葡萄")
输出数组(分割结果)
' 使用空格分割字符串
变量 句子 = "今天 天气 很好"
变量 词语数组 = 分割文本(" ", 句子)
输出数组(词语数组)
函数:数组到文本(分隔符,数组)
返回由数组元素组合成的字符串,注意:不支持多维数组。
' 用逗号连接数组元素
变量 水果数组 = ["苹果", "香蕉", "橙子"]
变量 水果文本 = 数组到文本(",", 水果数组)
输出 水果文本 ' 输出: 苹果,香蕉,橙子
' 用空格连接数组元素
变量 词语数组 = ["今天", "天气", "很好"]
变量 句子 = 数组到文本(" ", 词语数组)
输出 句子 ' 输出: 今天 天气 很好
函数:删首空(文本)
移除字符串左侧的空白字符或其他字符。
' 删除字符串左侧的空格
变量 原文本 = " 左侧有空格的文本"
变量 新文本 = 删首空(原文本)
输出 新文本 ' 输出: "左侧有空格的文本"
函数:删尾空(文本)
移除字符串右侧的空白字符或其他字符。
' 删除字符串右侧的空格
变量 原文本 = "右侧有空格的文本 "
变量 新文本 = 删尾空(原文本)
输出 新文本 ' 输出: "右侧有空格的文本"
函数:删首尾空(文本)
删除字符串左右两边的空白字符或其它字符
' 删除字符串两端的空格
变量 原文本 = " 两端都有空格的文本 "
变量 新文本 = 删首尾空(原文本)
输出 新文本 ' 输出: "两端都有空格的文本"
函数:取MD5(文本)
计算字符串的 MD5 散列。
' 计算字符串的MD5值
变量 密码 = "123456"
变量 MD5密码 = 取MD5(密码)
输出 "原密码: " + 密码
输出 "MD5密码: " + MD5密码
函数:到小写(文本)
把字符串转换为小写字母。
' 将字符串转换为小写
变量 大写文本 = "HELLO WORLD"
变量 小写文本 = 到小写(大写文本)
输出 小写文本 ' 输出: hello world
函数:到大写(文本)
把字符串转换为大写字母。
' 将字符串转换为大写
变量 小写文本 = "hello world"
变量 大写文本 = 到大写(小写文本)
输出 大写文本 ' 输出: HELLO WORLD
函数:取字节子文本(待操作文本,开始位置,长度)
获取并返回指定位置的子字符串,注意:该函数是按 “字节” 裁取指定位置,长度的子字符串,不是按 “字符”,适合操作纯英文字符串。如果处理中文(UTF-8 编码,一个中文占 3 字节),直接截取会乱码,需用‘取子文本’函数或‘mb_substr’(多字节字符串函数)。
' 取指定位置的子字符串
变量 原文本 = "Hello World"
变量 子文本 = 取字节子文本(原文本, 0, 5)
输出 子文本 ' 输出: Hello
函数:翻转字节(待处理文本)
通过字节方式反转指定字符串。
' 反转字符串
变量 原文本 = "abcdef"
变量 反转文本 = 翻转字节(原文本)
输出 反转文本 ' 输出: fedcba
函数:子字节替换(待被替换值,用作替换的值,待搜索的文本)
通过字节方式替换字符串中指定字符为另一个字符(对大小写不敏感)。
' 替换字符串中的文本
变量 原文本 = "我喜欢苹果,苹果很美味"
变量 新文本 = 子字节替换("苹果", "香蕉", 原文本)
输出 新文本 ' 输出: 我喜欢香蕉,香蕉很美味
函数:取文本长度(文本)
返回字符串的长度,若字符串为空则返回0。
' 获取字符串长度
变量 文本 = "Hello World"
变量 长度 = 取文本长度(文本)
输出 "文本长度: " + 长度 ' 输出: 文本长度: 11
变量 空文本 = ""
变量 空长度 = 取文本长度(空文本)
输出 "空文本长度: " + 空长度 ' 输出: 空文本长度: 0
函数:取子文本(待操作文本,开始位置,长度)
按字符长度截取子字符串,获取并返回指定位置的子字符串,注意:使用该函数需开启php的mbstring扩展。
' 取指定位置的子字符串
变量 原文本 = "Hello World"
变量 子文本 = 取子文本(原文本, 0, 5)
输出 子文本 ' 输出: Hello
函数:寻找文本(待搜索文本,待查找文本,开始位置)
查找字符串在另一字符串中第一次出现的位置(大小写不敏感);返回字符串在另一字符串中第一次出现的位置,如果没有找到字符串则返回“假”
' 查找文本在字符串中的位置
变量 主文本 = "Hello World"
变量 查找文本 = "world"
变量 位置 = 寻找文本(主文本, 查找文本, 0)
如果(位置 >= 0)
输出 "找到了,位置: " + 位置
否则
输出 "未找到"
结束 如果
函数:倒找文本(待搜索文本,待查找文本,开始位置)
从右向左查找字符串在另一字符串中最后一次出现的位置(对大小写不敏感);返回字符串在另一字符串中最后一次出现的位置,如果没有找到字符串则返回“假”
' 从右向左查找文本最后一次出现的位置
变量 主文本 = "apple banana apple"
变量 查找文本 = "apple"
变量 最后位置 = 倒找文本(主文本, 查找文本, 0)
如果(最后位置 >= 0)
输出 "最后一次出现的位置: " + 最后位置
否则
输出 "未找到"
结束 如果
学习要点
| 知识点 | 代码示例 | 说明 |
|---|---|---|
| 文本分割 | 分割文本(",", 文本) | 对应 PHP explode;返回数组 |
| 数组转文本 | 数组到文本(",", 数组) | 对应 PHP implode;不支持多维数组 |
| 删空白 | 删首空 / 删尾空 / 删首尾空 | 对应 ltrim/rtrim/trim |
| MD5加密 | 取MD5("123456") | 对应 PHP md5();常用于密码哈希 |
| 大小写转换 | 到大写(文本) / 到小写(文本) | 对应 strtoupper/strtolower |
| 字节截取 | 取字节子文本(文本, 0, 5) | 按字节截取;处理中文易乱码,建议改用 取子文本 |
| 字符截取 | 取子文本(文本, 0, 5) | 按字符截取;基于 PHP mb_substr,支持中文 |
| 字节翻转 | 翻转字节(文本) | 按字节翻转字符串;中文慎用 |
| 字节替换 | 子字节替换(旧, 新, 文本) | 按字节替换;大小写不敏感 |
| 文本长度 | 取文本长度(文本) | 对应 PHP strlen;空文本返回 0 |
| 查找位置 | 寻找文本(主文本, 查找文本, 起始) | 基于 mb_strpos;大小写不敏感;找不到返回假 |
| 倒找位置 | 倒找文本(主文本, 查找文本, 起始) | 基于 mb_strrpos;从右向左找最后一次出现 |
| 输出函数 | 输出 值 / 输出数组(数组) | 后端输出到响应体;对应 PHP echo/print_r |
相关文档
- 文档
服务端(PHP)函数_数组操作—— 后端数组操作函数 - 文档
服务端(PHP)函数_编码操作—— URL编解码、HTML转义等函数 - 文档
服务端(PHP)函数_核心库函数——JSON编码、JSON解码等核心函数 - 文档
服务端(PHP)函数_MYSQL操作—— 数据库字符串字段读写 - 文档
服务端(PHP)函数_数学运算—— 数值计算与随机数生成 - 文档
轻语言网站:变量与数组与对象的定义—— 变量、对象、数组的基本语法