PHP 提供了大量的内置函数来处理字符串操作,这些函数可以满足各种需求,比如格式转换、替换、截取等。以下是更全面的 PHP 字符串处理函数列表及相关说明:
- **`trim($str[, $charlist])`**: 去除字符串两端的空白字符或其他预定义字符[^1]。
- **`rtrim($str[, $charlist])`**: 删除字符串右侧的空白字符或指定字符集中的字符[^1]。
- **`ltrim($str[, $charlist])`**: 移除字符串左侧的空白字符或者由第二个参数所指定的一系列字符[^1]。
- **`chop()`**: 功能同 `rtrim()`, 即删除字符串末端多余的空白字符。
- **`strlen($str)`**: 计算给定字符串的实际字节数量。
- **`mb_strlen($str[, $encoding])`**: 返回一个多字节字符串的真实长度(支持不同编码方式下的计算)[^2]。
- **`strpos($haystack, $needle[, $offset])`**: 查找子字符串第一次出现的位置索引号[^1]; 若未发现匹配项,则返回 false。
- **`stripos($haystack, $needle[, $offset])`**: 类似于 strpos(), 只不过它不区分大小写字母。
- **`substr($string, $start[, $length])`**: 截取出从起始位置开始的一个连续片段[^1]。
- **`strstr($haystack, $needle[, $before_needle])`**: 寻找首次出现的目标子串并提取其后的所有内容; 当设置了第三个布尔型标志位时会获取目标之前的部分。
- **`str_replace(search, replace, subject[, &count])`**: 替换掉主体字符串里的某些模式为新的替代物[^1]。
- **`preg_replace(pattern, replacement, subject[, limit][, count])`**: 使用正则表达式的强大能力来进行复杂的搜索与替换动作[^3]。
- **`addslashes($str)`**: 转义单引号 ('),双引号 ("),反斜杠 (\) 和 NULL (^@)[^1]。
- **`strip_tags($str[, $allowable_tags])`**: 清理 HTML/XML 标记符号之外的一切东西。
- **`htmlspecialchars($string[, $flags[, $encoding[, $double_encode]]])`**: 把特殊字符转化为相应的HTML实体表示形式[^1]。
- **`html_entity_decode($string[, $flags[, $encoding]])`**: 解码已存在的 HTML 实体回到原始状态[^1]。
- **`get_html_translation_table([table[, flags]])`**: 获取当前配置下可用的各种翻译表映射关系[^1]。
- **`number_format($num[, $decimals[, $dec_point[, $thousands_sep]]])`**: 设置数字显示样式以便阅读更加直观[^1]。
- **`sprintf(format, args...)`**: 按照提供的模板格式化数据生成最终结果字符串[^1]。
- **`vsprintf(format, args_array)`**: 向 sprintf 添加了可变数量输入参数的支持。
- **`wordwrap($str[, $width[, $break[, $cut]]])`**: 自动折行长句使其适合固定宽度容器内展示。
- **`ucfirst($str)`**, **`lcfirst($str)`**, **`strtoupper($str)`**, **`strtolower($str)`**: 改变首字母大写/小写或是全部转成统一风格的大写或小写形式[^1]。
```php
<?php
// 示例代码演示部分常用函数的功能
$string = " Hello World! ";
echo trim($string); // 输出:Hello World!
$longString = "This is a very long string.";
echo substr($longString, 5, 7); // 输出:is a ver
$newStr = str_replace(" ", "-", $longString);
echo $newStr; // This-is-a-very-long-string.
$formattedNumber = number_format(1234567.89, 2);
echo $formattedNumber; // 1,234,567.89
?>
```
###