Home >Backend Development >PHP Problem >What are the methods to intercept strings in php

What are the methods to intercept strings in php

青灯夜游
青灯夜游Original
2021-07-23 19:37:2947534browse

php interception method: 1. Use substr() to intercept, you can intercept a certain length of characters from the specified position of the string; 2. Use mb_substr() to intercept, this function can intercept the specified characters from a string Part of it is not only valid for English characters, but also valid for Chinese characters.

What are the methods to intercept strings in php

The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer

1. Use substr() to intercept String

substr() function can intercept characters of a certain length from the specified position of the string. This intercepted character can be called a "substring" or "substring". Its syntax The format is as follows:

substr($string, $start [, $length])

Parameter description is as follows:

  • $string: The string that needs to be intercepted, the string contains at least one character;
  • $start: Interception The starting position of the string;
    • If $start is a non-negative number, the string will be intercepted from the $start character of $string, and $start starts counting from 0. For example, in the string "abcdef", the character at position 0 is "a", the character at position 2 is "c", etc.;
    • If $start is a negative number, the string will start from $ The end of string starts at the $start character forward, and $start starts counting from -1. For example, in the string "abcdef", the character at position -1 is "f", the character at position -3 is "d", etc.;
    • If the length of $string is less than $start, it will be returned FALSE.
  • $length: Optional parameter, indicating the length of the intercepted string.
    • If $length is a positive number, then the string will be truncated up to $length characters from the $start position;
    • If $length is a negative number, then $length characters from the end of $string Characters will be omitted (if $start is a negative number, it will be counted from the end of the string);
    • If the value of $length is 0, FALSE or NULL, an empty string will be returned;
    • If $length is not provided, the returned substring will start from the $start position until the end of the string.

Example: Using start and length parameters with different positive and negative numbers

<?php
echo substr("Hello world",0,10)."<br>";
echo substr("Hello world",1,8)."<br>";
echo substr("Hello world",0,5)."<br>";
echo substr("Hello world",6,6)."<br>";
 
echo substr("Hello world",0,-1)."<br>";
echo substr("Hello world",-10,-2)."<br>";
echo substr("Hello world",0,-6)."<br>";
echo substr("Hello world",-2-3)."<br>";
?>

Output:

Hello worl
ello wor
Hello
world
Hello worl
ello wor
Hello
world

2. Use mb_substr() to intercept Chinese strings

The mb_substr() function can intercept a specified part of a string. Unlike the substr() function, the mb_substr() function not only English characters are valid, and Chinese characters are also valid. The syntax format is as follows:

mb_substr($str , $start [, $length = NULL [, $encoding = mb_internal_encoding()]])

Parameter description is as follows:

  • $str: The string to be intercepted, the string contains at least one Character;
  • $start: intercept the starting position of the string;
    • If $start is a non-negative number, the string will be intercepted starting from the $start character position of $str;
    • If $start is a negative number, the string will be intercepted from the end of $str, starting from the position of the $start character forward.
  • $length: Optional parameter, indicating the length of the intercepted string;
    • If $length is a positive number, the string will be intercepted backwards from the $start position Up to $length characters;
    • If $length is a negative number, then $length characters at the end of $string will be omitted (if $start is a negative number, it will be counted from the end of the string);
    • If the value of $length is NULL or $length is omitted, it will be cut to the end of the string.
  • $encoding: Optional parameter, indicating the character encoding of $str. If omitted, the internal character encoding is used.

Example: Use the mb_substr() function to intercept a Chinese string of specified length

<?php
    $str = &#39;欢迎访问PHP中文网,一个在线学习编程的网站。&#39;;
    echo mb_substr($str, 4).&#39;<br>&#39;;
    echo mb_substr($str, -19).&#39;<br>&#39;;
    echo mb_substr($str, 4, 6).&#39;<br>&#39;;
    echo mb_substr($str, 4, -16).&#39;<br>&#39;;
    echo mb_substr($str, -19, -13).&#39;<br>&#39;;
    echo mb_substr($str, -19, 6).&#39;<br>&#39;;
    var_dump(mb_substr($str, 40));
    echo &#39;<br>&#39;;
    var_dump(mb_substr($str, 4, null));
?>

The running results are as follows:

PHP中文网,一个在线学习编程的网站。
PHP中文网,一个在线学习编程的网站。
PHP中文网
PHP
PHP中文网
PHP中文网
string(0) ""
string(55) "PHP中文网,一个在线学习编程的网站。"

Recommended learning: "PHP Video tutorial

The above is the detailed content of What are the methods to intercept strings in php. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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