Code前端首页关于Code前端联系我们

使用PHP substr函数

terry 2年前 (2023-09-29) 阅读数 59 #PHP
文章标签 PHP
PHP substr函数是一个简单而强大的字符串处理函数,可以从字符串中截取指定长度的子字符串。在PHP中,substr函数被广泛使用。可用于文本处理、字符串拼接、截取文件扩展名和文件名、解析文本信息。本文将详细介绍 PHP 的 substr 功能,包括 substr 的基本用法、特殊用法、语法规则、实际应用、示例代码等。

1。基本使用

substr函数的基本用途是从指定字符串中截取子字符串。调用格式如下:
string substr ( string $string , int $start [, int $length ] )
其中,$string参数为必填项,代表要截取的字符串; $start参数为必填项,表示最终返回字符串的初始截取位置,从0开始计算; $length参数是可选的,表示要截取的字符串的长度。如果未指定$length参数,则立即返回从$start开始到字符串末尾的所有字符。 例如:
$str = "Hello, World!";
$substr = substr($str, 0, 5);
echo $substr; // 输出Hello
本例中使用substr函数截取$str的前5个字符,即从0开始截取长度为5的子串,最终结果为Hello。

2。特殊用途

除了基本用途之外,substr函数还有一些特殊用途,如下: 1、使用负数作为起始$参数,即从字符串末尾开始计算截取位置。例如:
$str = "Hello, World!";
$substr = substr($str, -6);
echo $substr; // 输出World!
本例中,初始$参数-6,表示截取字符串底部第六个字符,最终结果为World!。 2、如果同时设置了$start参数和$length参数,则将从起始位置截取指定长度的字符串。例如:
$str = "Hello, World!";
$substr = substr($str, 7, 5);
echo $substr; // 输出World
本例中$start参数为7,$length参数为5,表示从字符串的7个字符中截取长度为5的子串,最终结果为World。

3。语法规则

使用substr函数时,必须注意一些语法规则,例如: 1. $start参数必须是整数值,否则将返回错误值。 2. $length参数也必须是整数值,否则将返回错误值。 3. 如果初始 $ 参数超过某个字符串长度,则 substr 函数将返回 false 值。 4、如果$length参数超过字符串的可用长度,substr将截取从$开头到字符串末尾的所有字符。5、如果初始$参数为负数,则表示截取字符串最后一个字符中的第N个字符。 6、如果参数$length为负数,则表示从$开头截取的字符数。

4。实际应用

在实际应用中,substr函数可以用来处理很多文本处理任务,例如: 1、截取文件扩展名和文件名:
$str = "test.php";
$ext = substr($str, strrpos($str, ".") + 1); // 获取文件扩展名
$name = substr($str, 0, strrpos($str, ".")); // 获取文件名
echo $ext; // 输出php
echo $name; // 输出test
2.更改文字内容:
$str = "Hello, World!";
$start = strpos($str, ",");
$newstr = substr_replace($str, "All", $start, 1);
echo $newstr; // 输出Hello All World!
3.处理URL参数:
$url = "http://www.example.com/page.php?id=123";
$id = substr($url, strpos($url, "=") + 1);
echo $id; // 输出123

5。代码示例

以下是使用 substr 函数的一些代码示例: 1、截取HTML标签(截取从标签

开始,到标签

结束的内容):
$html = "

这是一个标题

这是一段文字

"; $start = strpos($html, "

"); $end = strpos($html, "

"); $length = $end - $start - strlen("

"); $title = substr($html, $start + strlen("

"), $length); echo $title; // 输出这是一个标题

2、截取全名第一个字母(将名字“张三”改为“zs”):
$name = "张三";
$surname = substr($name, 0, 1);
$givenname = substr($name, 1);
$fullname = $surname . $givenname;
$fullname_py = '';
for($i = 0 ; $i =ord('a') && ord($fullname[$i])

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门