Detailed explanation of php techniques for using mb_strpos in PHP

jacklove
Release: 2023-04-01 22:12:02
Original
2201 people have browsed it

This article mainly introduces the detailed use 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.

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 ($ HayStack, $ Offset $ len_sch,
        $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 Detailed explanation of php techniques for using mb_strpos in PHP. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
php
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