字串系統函式2文字擷取substr

2022-08-29 22:27:32 字數 1596 閱讀 1124

<?php

/**

燕十八 公益php培訓

學習社群:www.zixue.it **/

//擷取子字串

// substr

/*string substr ( string $string , int $start [, int $length ] )

$string: 待擷取的長字串

start: 擷取開始的位置【理解為代表方向 ,從右向左】

$length: 正數時代表擷取的長度,負數時代表擷取結束的位置

*/$str = 'abcdefg';

/*當第3個引數,不指定時,擷取到字串的"結尾"

*/echo

substr($str,3),'

'; //

defg

/*經理說:把字串末尾的3個字元擷取出來

又怎麼辦呢?

*///

辦法1,先算出length,再-3

$str = 'abcdefg';

$start = strlen($str) - 3;

echo

substr($str,$start),'

';//

辦法2,起始位置不走左數,而是呢,填負數,從右往左數.

echo

substr($str,-3),'

';/*

*經理又要求:

專門擷取字串開頭的3個字元

分析:start 應該填0

擷取長度: length 應該填3**/

//第3個引數為正數時,代表要擷取的長度

$str = 'abcdefghijk';

echo

substr($str,0,3),'

';/*

*經理又要求:

專門擷取除了頭3位,和尾巴3位,

即,中間的那些字串.

分析:start應該是3

length,如何代表長度,多長呢? 不一定,因為字串的長度不好算.

這時,可以把length寫成負數.

如果length是負數,不代表長度,代表文字擷取的結束位置**/

$str = '123456789';

echo

substr($str,3,-3),'

';//

至此,經理沒能刁難你,完成任務/**

這時,我們對經理說:"還需要截什麼嗎? 中文我也能截,來點任務吧"

substr 它是按位元組來操作的,不考慮什麼編碼.**/

$str = '中華民族'; //

我的檔案是utf-8編碼的.

echo

substr($str,6,3),'

';/*

經理說:"小樣兒,牛叉是嗎"

來截這一段"lily你的**report給我,中午我們有個meeting,一會帶你吃kfc"

*/$str = "lily你的**report給我,中午我們有個meeting,一會帶你吃kfc";

echo

substr($str,0,6),'ab';

//按位元組截,'lily你'是7個位元組才完成

// '你'的3個位元組,被截了2個,出了問題.

?>

Js字串擷取substring與substr區別

一 substsubstring 該方法可以有乙個引數也可以有兩個引數。1 乙個引數 示例 var str olive str.substring 3 結果 ve 說明 當substring只有乙個引數時,引數表示從字串的第幾位開始擷取,直擷取到字串結尾。2 兩個引數 示例 var str oliv...

js字串擷取substring和substr

定義測試使用的字串 var text hello world 字串hello world字元對應下標he llow orld 0123 4567 8910字串擷取 substring start,end 擷取範圍 start,end text.substring 6 11 world substr ...

字串擷取函式

英文及數字擷取函式 substr 函式返回字串的一部分,但要分割的文字如果包括中文字元往往會遇到問題。substr string,start,length 例子 rest substr abcdef 1 returns bcdef 從位置為1的字元向後擷取到字串尾 rest substr hello...