一、substr函数的基础用法
substr函数是PHP中用来截取字符串的函数,其基本语法如下:
string substr ( string $string , int $start [, int $length ] )
参数说明:
string
:要截取的字符串start
:起始位置,如果为负数则表示从字符串末尾数起的位置length
:截取的长度,如果未指定则表示截取到字符串末尾
示例代码:
$str = "Hello, world!"; echo substr($str, 0, 5); // 输出:Hello echo substr($str, -6); // 输出:world!
解释:
- 第一行代码是将字符串“Hello, world!”从第0个字符开始截取5个字符,结果为“Hello”
- 第二行代码是将字符串“Hello, world!”从倒数第6个字符开始截取到末尾,结果为“world!”
二、substr函数的高级用法
除了基本的字符串截取外,substr函数还可以和其他函数结合使用,实现更为复杂的功能。
1. 截取中文字符串
由于中文字符占用的字节数不同,所以如果要截取中文字符串就需要进行特殊处理。下面是截取中文字符串的示例代码:
function subtext($text, $length) { if(mb_strlen($text, 'utf8') > $length) { $text = mb_substr($text, 0, $length, 'utf8') . '...'; } return $text; } $text = "这是一段中文字符串,用于测试截取函数的功能。"; echo subtext($text, 10); // 输出:这是一段中文字...
解释:
- 该函数首先使用mb_strlen函数获取字符串长度,以确保正确截取中文字符串
- 然后使用mb_substr函数截取字符串,并在末尾添加省略号
- 最后返回截取后的字符串
2. 截取HTML代码
如果要截取包含HTML标签的字符串,需要注意不能使得标签不完整。下面是截取HTML代码的示例代码:
function htmlCut($html, $length)
{
$flag = 0;
$output = '';
$patten = "/]+>([^= $length)
{
break;
}$length -= $flag;
$str = mb_substr($val[0], 0, $length, 'utf8');if(mb_substr_count($val[0], ' mb_substr_count($val[0], '>'))
{
$output .= $str;
break;
}$flag += strlen($str);
$output .= $val[0];
}return $output;
}
$html = 'HTML截取示例
这是一段包含HTML标签的文字,用于测试截取函数的功能。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/183923.html