php 字符串的截取和查找


一、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])

返回needlehaystack中首次出現的數字位置,從0開始查找,區分大小寫。

參數:

haystack,在該字符串中進行查找。

needle,如果needle不是一個字符串,那么它將被轉化為整型並被視為字符的順序值。

offset,如果提供了此參數,搜索會從字符串該字符數的起始位置進行統計。和strrpos()、strripos()不一樣,這個偏移量不能是負數。

echo strpos("You love php, I love php too!","php");

結果:9

stripos()函數,與strpos()函數類似,不過其不區分大小寫。

  • stripos() - 查找字符串在另一字符串中第一次出現的位置(不區分大小寫)
  • strripos() - 查找字符串在另一字符串中最后一次出現的位置(不區分大小寫)
  • strrpos() - 查找字符串在另一字符串中最后一次出現的位置(區分大小寫)

沒有找到要用 ===false 做判斷

三、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'); //輸出 我


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM