Maison  >  Article  >  développement back-end  >  Quelles sont les méthodes pour intercepter des chaînes en php

Quelles sont les méthodes pour intercepter des chaînes en php

青灯夜游
青灯夜游original
2021-07-23 19:37:2947485parcourir

Méthode d'interception php : 1. Utilisez substr() pour intercepter, vous pouvez intercepter une certaine longueur de caractères à partir de la position spécifiée de la chaîne ; 2. Utilisez mb_substr() pour intercepter, cette fonction peut intercepter la partie spécifiée d'une chaîne ; , non seulement les caractères anglais sont valides, mais les caractères chinois sont également valides.

Quelles sont les méthodes pour intercepter des chaînes en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

1 Utilisez substr() pour intercepter une chaîne

La fonction substr() peut en intercepter une certaine quantité. à partir de la position spécifiée de la longueur de la chaîne de caractères. Ce caractère intercepté peut être appelé une « sous-chaîne » ou une « sous-chaîne ». Son format de syntaxe est le suivant :

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

La description du paramètre est la suivante :

  • $string : la chaîne qui doit être interceptée, ce caractère La chaîne contient au moins un caractère ;
  • $start : intercepte la position de départ de la chaîne
    • Si $start est un nombre non négatif, alors la chaîne sera interceptée à partir du Caractère $start de $string et $start commence à 0 . Par exemple, dans la chaîne "abcdef", le caractère en position 0 est "a", le caractère en position 2 est "c", etc.
    • Si $start est un nombre négatif, la chaîne commencera par la fin. de $string À partir du premier caractère $start, $start commence à compter à partir de -1. Par exemple, dans la chaîne "abcdef", le caractère en position -1 est "f", le caractère en position -3 est "d", etc.
    • Si la longueur de $string est inférieure à $start, FALSE ; sera restitué.
  • $length : paramètre facultatif, indiquant la longueur de la chaîne interceptée.
    • Si $length est un nombre positif, alors la chaîne sera tronquée jusqu'à $length caractères à partir de la position $start
    • Si $length est un nombre négatif, alors les caractères $length à la fin de $string seront omis ; (si $ start est un nombre négatif, en comptant à partir de la fin de la chaîne) ;
    • Si la valeur de $length est 0, FALSE ou NULL, une chaîne vide sera renvoyée
    • Si $length n'est pas fourni, le La sous-chaîne renvoyée sera à partir de la position $start jusqu'à la fin de la chaîne.

Exemple : utilisez les paramètres de début et de longueur avec différents nombres positifs et négatifs

<?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>";
?>

Sortie :

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

2 Utilisez mb_substr() pour intercepter les chaînes chinoises

la fonction mb_substr() peut commencer à partir d'un caractère. Interceptez la partie spécifiée de la chaîne. Différente de la fonction substr(), la fonction mb_substr() est non seulement valable pour les caractères anglais, mais également pour les caractères chinois. Son format de syntaxe est le suivant :

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

La description du paramètre est la suivante. suit :

  • $str : La chaîne à intercepter, la chaîne contient au moins un caractère ;
  • $start : intercepte la position de départ de la chaîne
    • Si $start est un nombre non négatif, alors la chaîne ; commencera à partir du caractère $start de $str Commencez l'interception à la position ;
    • Si $start est un nombre négatif, alors la chaîne sera interceptée à partir de la position du caractère $start à partir de la fin de $str.
  • $length : Paramètre facultatif, indiquant la longueur de la chaîne interceptée ;
    • Si $length est un nombre positif, la chaîne sera interceptée jusqu'à $length caractères à partir de la position $start ; Nombre négatif, alors les caractères $length à la fin de $string seront omis (si $start est un nombre négatif, il sera compté à partir de la fin de la chaîne
    • Si la valeur de $length est NULL ou $length) ; est omis, la chaîne sera interceptée à la fin.
    $encoding : paramètre facultatif, indiquant l'encodage des caractères de $str. S'il est omis, l'encodage des caractères interne est utilisé.
  • Exemple : utilisez la fonction mb_substr() pour intercepter une chaîne chinoise de longueur spécifiée
<?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));
?>

Les résultats d'exécution sont les suivants :

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

Apprentissage recommandé : "

Tutoriel vidéo PHP

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn