一、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/zh-hk/n/183923.html