Maison  >  Article  >  développement back-end  >  Comment implémenter l'interception de chaînes chinoises en php

Comment implémenter l'interception de chaînes chinoises en php

青灯夜游
青灯夜游original
2021-07-16 20:17:056883parcourir

En PHP, vous pouvez utiliser la fonction mb_substr() pour intercepter une chaîne chinoise. Cette fonction peut intercepter une partie spécifiée d'une chaîne. Elle n'est pas seulement valable pour les caractères anglais, mais également pour les caractères chinois ; mb_substr($str,$start,$length,$encoding)".

Comment implémenter l'interception de chaînes chinoises en php

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

La fonction mb_substr() peut intercepter une partie spécifiée d'une chaîne Différente de la fonction substr(), mb_substr(. ) La fonction n'est pas seulement valable pour les caractères anglais, mais aussi 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 :

  • $str : la chaîne à intercepter, la chaîne contient at 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 de la position du caractère $start de $str ; est un nombre négatif, alors la chaîne sera interceptée à partir de $ La fin de str est interceptée à partir de la position du caractère $start vers l'avant.
    $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中文网,一个在线学习编程的网站。"

[Exemple] Utilisez la fonction mb_substr() pour intercepter une chaîne de longueur spécifiée et remplacez la partie excédentaire par "...".

<?php
    $str = &#39;PHP中文网是一个在线学习编程的网站,我们发布了多套文字教程,它们都通俗易懂,深入浅出。&#39;;
    if(strlen($str)>18){
        echo mb_substr($str, 0, 18).&#39;...&#39;;
    }else{
        echo $str;
    }
?>

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

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