你值得信赖的源码站!

详解PHP中mb_strpos的使用

这篇文章主要介绍了详解PHP中mb_strpos的使用,通过使用语法以及实例给大家详细分析了用法,需要的朋友参考学习下。

mb_strpos

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_strpos — Find position of first occurrence of string in a string

mb_strpos — 查找字符串在另一个字符串中首次出现的位置

Description

  1. int mb_strpos (  
  2.   string $haystack ,  
  3.   string $needle [,  
  4.   int $offset = 0 [,  
  5.   string $encoding = mb_internal_encoding() ]]  
  6.   ) 
  7. //Finds position of the first occurrence of a string in a string. 
  8. // 查找 string 在一个 string 中首次出现的位置。 
  9.  
  10. //Performs a multi-byte safe strpos() operation based on number of characters. The first character's position is 0, the second character position is 1, and so on. 

基于字符数执行一个多字节安全的 strpos() 操作。 第一个字符的位置是 0,第二个字符的位置是 1,以此类推。

Parameters

haystack

The string being checked.

要被检查的 string。

needle

The string to find in haystack. In contrast with strpos(), numeric values are not applied as the ordinal value of a character.

在 haystack 中查找这个字符串。 和 strpos() 不同的是,数字的值不会被当做字符的顺序值。

offset

The search offset. If it is not specified, 0 is used. A negative offset counts from the end of the string.

搜索位置的偏移。如果没有提供该参数,将会使用 0。负数的 offset 会从字符串尾部开始统计。

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

encoding 参数为字符编码。如果省略,则使用内部字符编码。

Return Values

Returns the numeric position of the first occurrence of needle in the haystack string. If needle is not found, it returns FALSE.

返回 string 的 haystack 中 needle 首次出现位置的数值,如果没有找到 needle,它将返回 FALSE。

Example

  1. <?php 
  2. /** 
  3.  * Created by PhpStorm. 
  4.  * User: zhangrongxiang 
  5.  * Date: 2018/2/2 
  6.  * Time: 下午11:16 
  7.  */ 
  8.  
  9. $str = "Hello World! Hello PHP"
  10. $pos = mb_strpos( $str"Hello", 0, mb_internal_encoding() ); 
  11. echo $pos . PHP_EOL;//0 
  12. $pos = mb_strpos( $str"Hello", 2, mb_internal_encoding() ); 
  13. echo $pos . PHP_EOL;//13 
  14.  
  15. function mb_str_replace( $haystack$search$replace$offset = 0, $encoding = 'auto' ) { 
  16.   $len_sch = mb_strlen( $search$encoding ); 
  17.   $len_rep = mb_strlen( $replace$encoding ); 
  18.     
  19.   while ( ( $offset = mb_strpos( $haystack$search$offset$encoding ) ) !== false ) { 
  20.     $haystack = mb_substr( $haystack, 0, $offset$encoding ) 
  21.           . $replace 
  22.           . mb_substr( $haystack$offset + $len_sch
  23.         $le = mb_strlen( $haystack ) – mb_strlen( $search ) + mb_strlen( $replace ), 
  24.         $encoding ); 
  25.     //echo $le.PHP_EOL; 
  26.     $offset = $offset + $len_rep
  27.     if ( $offset > mb_strlen( $haystack$encoding ) ) { 
  28.       break
  29.     } 
  30.   } 
  31.     
  32.   return $haystack
  33.  
  34. $replace = mb_str_replace( "hello world !hello world !hello world !hello world !""hello""hi" ); 
  35. echo $replace . PHP_EOL; //hi world !hi world !hi world !hi world ! 
  36.  
  37. //hi PHP !hi PHP !hi PHP !hi PHP ! 
  38. echo mb_str_replace( $replace"world""PHP" ) . PHP_EOL; 
  39. echo mb_str_replace( $replace" ""-" ) . PHP_EOL; 
  40.  
  41. //PHP是世界上最好的语言

赞(0) 本模板价: 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《详解PHP中mb_strpos的使用》
文章链接:https://www.adminn.cn/683.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏