PHP Conference Japan 2024

字符串函数

参见

要获得更强大的字符串处理和操作函数,请查看Perl 兼容正则表达式函数。对于处理多字节字符编码,请查看多字节字符串函数

目录

  • addcslashes — 以 C 样式使用反斜杠引用字符串
  • addslashes — 使用反斜杠引用字符串
  • bin2hex — 将二进制数据转换为十六进制表示形式
  • chop — rtrim 的别名
  • chr — 从数字生成单字节字符串
  • chunk_split — 将字符串拆分为较小的块
  • convert_cyr_string — 将一种西里尔字符集转换为另一种
  • convert_uudecode — 解码 uuencoded 字符串
  • convert_uuencode — 对字符串进行 uuencode 编码
  • count_chars — 返回有关字符串中使用的字符的信息
  • crc32 — 计算字符串的 crc32 多项式
  • crypt — 单向字符串哈希
  • echo — 输出一个或多个字符串
  • explode — 通过字符串拆分字符串
  • fprintf — 将格式化字符串写入流
  • get_html_translation_table — 返回 htmlspecialchars 和 htmlentities 使用的转换表
  • hebrev — 将逻辑希伯来文本转换为视觉文本
  • hebrevc — 将逻辑希伯来文本转换为视觉文本,并进行换行转换
  • hex2bin — 解码十六进制编码的二进制字符串
  • html_entity_decode — 将 HTML 实体转换为相应的字符
  • htmlentities — 将所有适用的字符转换为 HTML 实体
  • htmlspecialchars — 将特殊字符转换为 HTML 实体
  • htmlspecialchars_decode — 将特殊 HTML 实体转换回字符
  • implode — 使用字符串连接数组元素
  • join — implode 的别名
  • lcfirst — 将字符串的第一个字符转换为小写
  • levenshtein — 计算两个字符串之间的 Levenshtein 距离
  • localeconv — 获取数字格式化信息
  • ltrim — 从字符串的开头去除空格(或其他字符)
  • md5 — 计算字符串的 md5 哈希值
  • md5_file — 计算给定文件的 md5 哈希值
  • metaphone — 计算字符串的元音键
  • money_format — 将数字格式化为货币字符串
  • nl_langinfo — 查询语言和区域设置信息
  • nl2br — 在字符串中的所有换行符前插入 HTML 换行符
  • number_format — 格式化带分组千位的数字
  • ord — 将字符串的第一个字节转换为 0 到 255 之间的值
  • parse_str — 将字符串解析为变量
  • print — 输出字符串
  • printf — 输出格式化字符串
  • quoted_printable_decode — 将可打印引用的字符串转换为 8 位字符串
  • quoted_printable_encode — 将 8 位字符串转换为可打印引用的字符串
  • quotemeta — 引用元字符
  • rtrim — 从字符串的末尾去除空格(或其他字符)
  • setlocale — 设置区域设置信息
  • sha1 — 计算字符串的 sha1 哈希值
  • sha1_file — 计算文件的 sha1 哈希值
  • similar_text — 计算两个字符串之间的相似度
  • soundex — 计算字符串的 soundex 键
  • sprintf — 返回格式化字符串
  • sscanf — 根据格式解析来自字符串的输入
  • str_contains — 确定字符串是否包含给定的子字符串
  • str_decrement — 递减字母数字字符串
  • str_ends_with — 检查字符串是否以给定的子字符串结尾
  • str_getcsv — 将 CSV 字符串解析为数组
  • str_increment — 递增字母数字字符串
  • str_ireplace — str_replace 的不区分大小写的版本
  • str_pad — 使用另一个字符串将字符串填充到特定长度
  • str_repeat — 重复字符串
  • str_replace — 将搜索字符串的所有出现替换为替换字符串
  • str_rot13 — 对字符串执行 rot13 变换
  • str_shuffle — 随机打乱字符串
  • str_split — 将字符串转换为数组
  • str_starts_with — 检查字符串是否以给定的子字符串开头
  • str_word_count — 返回有关字符串中使用的单词的信息
  • strcasecmp — 二进制安全的不区分大小写的字符串比较
  • strchr — strstr 的别名
  • strcmp — 二进制安全字符串比较
  • strcoll — 基于区域设置的字符串比较
  • strcspn — 查找不匹配掩码的初始段的长度
  • strip_tags — 从字符串中去除 HTML 和 PHP 标记
  • stripcslashes — 取消使用 addcslashes 引用的字符串
  • stripos — 查找字符串中不区分大小写的子字符串的第一次出现的位
  • stripslashes — 取消引用引用的字符串
  • stristr — 不区分大小写的 strstr
  • strlen — 获取字符串长度
  • strnatcasecmp — 使用“自然顺序”算法进行不区分大小写的字符串比较
  • strnatcmp — 使用“自然顺序”算法进行字符串比较
  • strncasecmp — 前 n 个字符的二进制安全的不区分大小写的字符串比较
  • strncmp — 前 n 个字符的二进制安全字符串比较
  • strpbrk — 在字符串中搜索一组字符中的任何一个
  • strpos — 查找字符串中子字符串的第一次出现的位
  • strrchr — 查找字符串中字符的最后一次出现
  • strrev — 反转字符串
  • strripos — 查找字符串中不区分大小写的子字符串的最后一次出现的位
  • strrpos — 查找字符串中子字符串的最后一次出现的位
  • strspn — 查找字符串的初始段的长度,该段完全由给定掩码中包含的字符组成
  • strstr — 查找字符串的第一次出现
  • strtok — 将字符串标记化
  • strtolower — 将字符串转换为小写
  • strtoupper — 将字符串转换为大写
  • strtr — 转换字符或替换子字符串
  • substr — 返回字符串的一部分
  • substr_compare — 从偏移量开始,最多 length 个字符的两个字符串的二进制安全比较
  • substr_count — 统计子字符串出现的次数
  • substr_replace — 替换字符串一部分内的文本
  • trim — 从字符串的开头和结尾去除空格(或其他字符)
  • ucfirst — 将字符串的第一个字符转换为大写

  • ucwords — 将字符串中每个单词的第一个字符转换为大写
  • utf8_decode — 将字符串从 UTF-8 转换为 ISO-8859-1,替换无效或无法表示的字符
  • utf8_encode — 将字符串从 ISO-8859-1 转换为 UTF-8
  • vfprintf — 将格式化的字符串写入流
  • vprintf — 输出格式化的字符串
  • vsprintf — 返回格式化的字符串
  • wordwrap — 将字符串换行到指定的字符数
添加注释

用户贡献的注释 2 条注释

lrirwin at alum dot wustl dot edu
3 年前
我正在转换 30 年前的代码,需要一个字符串 TAB 函数

//类似于旧版 BASIC 语言中使用的 TAB 的制表符函数
//尽管其中一些如果字符串
//长于请求的位置,则不会截断
function tab($instring="",$topos=0){
if(strlen($instring)<$topos){
$result=str_pad($instring,$topos-1," ",STR_PAD_RIGHT);
}else{
$result=substr($instring,0,$topos-1);
}
return $result;
}

$pline="String with this tab to 50 and";
$tline=tab($pline,50)."finish it.";
echo $tline.PHP_EOL;
$pline="101010101020202020203030303030404040404050505050506060606060";
$tline=tab($pline,50)."finish it.";
echo $tline.PHP_EOL;

//结果输出如下
//String with this tab to 50 and finish it.
//1010101010202020202030303030304040404040505050505finish it.
kristin at greenapple dot on dot ca
19 年前
我确实搜索了可以执行此操作的函数,因为我在其他语言中见过它,但在这里找不到。这在与 substr() 结合使用时特别有用,以获取字符串的从开头到特定点的第一部分。

strnpos() - 在 haystack 中查找 needle 的第 n 个位置。

<?php

function strnpos($haystack, $needle, $occurance, $pos = 0) {

for (
$i = 1; $i <= $occurance; $i++) {
$pos = strpos($haystack, $needle, $pos) + 1;
}
return
$pos - 1;

}

?>

示例:给我 '/' 第四次出现之前的所有内容。

<?php

$haystack
= "/home/username/www/index.php";
$needle = "/";

$root_dir = substr($haystack, 0, strnpos($haystack, $needle, 4));

echo
$root_dir;

?>

返回值:/home/username/www

将此示例与服务器变量 $_SERVER['SCRIPT_NAME'] 作为 haystack 一起使用,您可以自动发现文档的根目录,以便自动查找全局文件!
To Top