Home > Backend Development > PHP Tutorial > Tips for using mb_strpos in PHP

Tips for using mb_strpos in PHP

小云云
Release: 2023-03-19 21:10:02
Original
2176 people have browsed it

This article mainly introduces you to the usage skills of mb_strpos in PHP. It analyzes the usage in detail through the use of syntax and examples. Friends who need it can refer to it. Hope it helps everyone.

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 — Find the first occurrence of a string within another string

Description


int mb_strpos ( 
  string $haystack , 
  string $needle [, 
  int $offset = 0 [, 
  string $encoding = mb_internal_encoding() ]] 
  )
//Finds position of the first occurrence of a string in a string.
// 查找 string 在一个 string 中首次出现的位置。

//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,以此类推。
Copy after login

Parameters

haystack

  • The string being checked.

  • The string being checked.

needle

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

  • Find this string in haystack. Unlike strpos(), numeric values ​​are not treated as character sequential values.

offset

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

  • #The offset of the search position. If this parameter is not provided, 0 will be used. Negative offsets will be counted from the end of the string.

encoding

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

  • #encoding parameter is the character encoding. If omitted, the internal character encoding is used.

Return Values

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

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

Example


<?php
/** * Created by PhpStorm.
 * User: zhangrongxiang
 * Date: 2018/2/2
 * Time: 下午11:16
 */

$str = "Hello World! Hello PHP";
$pos = mb_strpos( $str, "Hello", 0, mb_internal_encoding() );
echo $pos .PHP_EOL;//0
$pos = mb_strpos( $str, "Hello", 2, mb_internal_encoding() );
echo $pos .PHP_EOL;//13

function mb_str_replace( $haystack, $search, $replace, $offset = 0, $encoding = 'auto' ) {
$len_sch = mb_strlen( $search, $encoding);
$len_rep = mb_strlen( $replace, $encoding);
​
while ( ( $offset = mb_strpos( $haystack, $search, $offset, $encoding ) ) !== false ) {
$haystack = mb_substr( $haystack, 0, $offset, $encoding)
          . $replace
                                                                                                                                                                                                      mb_substr      mb_substr                                                    offset,
        $le = mb_strlen( $haystack ) - mb_strlen( $search ) + mb_strlen( $replace ),
         $encoding );
//echo $le.PHP_EOL;
$offset = $offset + $len_rep;
If ( $offset > mb_strlen( $haystack, $encoding ) ) {
Break;
}
}
​
return $haystack;
}

$replace = mb_str_replace( "hello world !hello world !hello world !hello world !", "hello", "hi" );
echo $replace .PHP_EOL; //hi world !hi world !hi world !hi world !

//hi PHP !hi PHP !hi PHP !hi PHP !
echo mb_str_replace( $replace, "world", "PHP" ) . PHP_EOL;
echo mb_str_replace( $replace, " ", "-" ) . PHP_EOL;

//PHP is the best language in the world
Copy after login

The above is the detailed content of Tips for using mb_strpos in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template