一、strstr
定義:strstr(str1,str2) 函數用於判斷字符串str2是否是str1的子串。如果是,則該函數返回str2在str1中首次出現的地址;否則,返回NULL。
$email = '13366540193@163.com' ; $domain = strstr ( $email , '@' ); echo $domain ; // 打印 @163.com $user = strstr ( $email , '@' , true ); // 從 PHP 5.3.0 起 echo $user ; // 打印 13366540193
二、strpos
strpos — 查找字符串在另一個字符串中首次出現的位置
mixed strops(string $haystack,$mixed $needle,[int $offset=0])
返回needle在haystack中首次出現的數字位置,從0開始查找,區分大小寫。
參數:
haystack,在該字符串中進行查找。
needle,如果needle不是一個字符串,那么它將被轉化為整型並被視為字符的順序值。
offset,如果提供了此參數,搜索會從字符串該字符數的起始位置進行統計。和strrpos()、strripos()不一樣,這個偏移量不能是負數。
echo strpos("You love php, I love php too!","php"); 結果:9
stripos()函數,與strpos()函數類似,不過其不區分大小寫。
- stripos() - 查找字符串在另一字符串中第一次出現的位置(不區分大小寫)
- strripos() - 查找字符串在另一字符串中最后一次出現的位置(不區分大小寫)
- strrpos() - 查找字符串在另一字符串中最后一次出現的位置(區分大小寫)
三、substr
substr() 函數返回字符串的一部分
substr(string,start,length)
參數:
1,string 即你要截取的字符串
2,start 即要截取的開始位置(0表示從從前往后數 第一個字符開始,負數表示從從后往前數)
eg:start=1,表示從從前往后開始的第二個數開始截取,start=-1,表示從從后往前開始的第一(是第一不是第二哦)個數開始截取,
3,length 當為正數時,為需要截取的長度;當為負數時,即理解為去掉末尾的幾個字符
eg:length=3,表示截取三個長度;length=-2,即為去掉末尾的兩個字符
<?php $rest = substr("abcdef", 0, -1); // 返回 "abcde" $rest = substr("abcdef", 2, -1); // 返回 "cde" $rest = substr("abcdef", 4, -4); // 返回 "" $rest = substr("abcdef", -3, -1); // 返回 "de"
?>
// 訪問字符串中的單個字符 // 也可以使用中括號 $string = 'abcdef'; echo $string[0]; // a echo $string[3]; // d echo $string[strlen($string)-1]; // f
//中文字符串的截取和獲取長度 mb_substr() $str = '我abc是誰'; //utf-8編碼的字符串 echo mb_substr($str, 0, 2, 'utf-8'); //輸出 我a
$str = '我是誰'; //gbk編碼的字符串 echo mb_substr($str, 0, 1, 'gbk'); //輸出 我