我們在php中查找字符是否存在字符串中一般會用到函數strstr,strpos,substr,strrchr,stripos這幾個常用的字符查找函數,有需了解的同學可看看.
一、strstr — 查找字符串的首次出現
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
注1:$haystack是當事字符串,$needle是被查找的字符串.該函數區分大小寫.
注2:返回值是從needle開始到最后.
注3:關于$needle,如果不是字符串,被當作整形來作為字符的序號來使用.
注4:before_needle若為true,則返回前東西.
實例代碼如下:
- $email = '[email protected]';
- $domain = strstr($email, '@');
- echo $domain; // 打印 @example.com
- $user = strstr($email, '@', true); // 從 PHP 5.3.0 起
- echo $user; // 打印 yuxiaoxiao
- ?>
二、stristr strstr不區分大小寫的版本
三、strpos -查找字符串首次出現的位置
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
注1:可選的 offset 參數可以用來指定從 haystack 中的哪一個字符開始查找.返回的數字位置是相對于 haystack 的起始位置而言的.
四、substr -返回字符串的子串
string substr ( string $string , int $start [, int $length ] )
$rest = substr("abcdef", -1); // 返回 "f"
注1:如果 start 是非負數,返回的字符串將從 string 的 start 位置開始,從 0 開始計算.例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等.
注2:如果 start 是負數,返回的字符串將從 string 結尾處向前數第 start 個字符開始.
注3:如果 string 的長度小于或等于 start,將返回 FALSE.
length
注4:如果提供了正數的 length,返回的字符串將從 start 處開始最多包括 length 個字符(取決于 string 的長度).
注5:如果提供了負數的 length,那么 string 末尾處的許多字符將會被漏掉(若 start 是負數則從字符串尾部算起).如果 start 不在這段文本中,那么將返回一個空字符串.
注6:如果提供了值為 0,FALSE 或 NULL 的 length,那么將返回一個空字符串.
注7:如果沒有提供 length,返回的子字符串將從 start 位置開始直到字符串結尾.
實例代碼如下:
- $rest = substr("abcdef", 0, -1); // 返回 "abcde"
- $rest = substr("abcdef", 2, -1); // 返回 "cde"
- $rest = substr("abcdef", 4, -4); // 返回 ""
- $rest = substr("abcdef", -3, -1); // 返回 "de"
- ?>
五、strrchr -查找指定字符在字符串中的最后一次出現
string strrchr ( string $haystack , mixed $needle )
該函數返回 haystack 字符串中的一部分,這部分以 needle 的最后出現位置開始,直到 haystack 末尾.
六、strripos -計算指定字符串在目標字符串中最后一次出現的位置(不區分大小寫)
七、stripos -查找字符串首次出現的位置(不區分大小定)
八、strrpos -計算指定字符串在目標字符串中最后一次出現的位置
這些函數只會返回你要查找的字符是否存了字符串中并返回位置或返回0 or 1,如果要從指定位置取我們可以利用substr等等這些函數來組合操作哦.
|
新聞熱點
疑難解答