Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie das Abfangen chinesischer Zeichenfolgen in PHP

So implementieren Sie das Abfangen chinesischer Zeichenfolgen in PHP

青灯夜游
青灯夜游Original
2021-07-16 20:17:056903Durchsuche

In PHP können Sie die Funktion mb_substr() verwenden, um einen bestimmten Teil einer Zeichenfolge abzufangen. Sie gilt nicht nur für englische Zeichen, sondern auch für chinesische Zeichen. mb_substr($str ,$start,$length,$encoding)“.

So implementieren Sie das Abfangen chinesischer Zeichenfolgen in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

Die Funktion mb_substr() kann einen bestimmten Teil einer Zeichenfolge abfangen. Anders als die Funktion substr() kann mb_substr( ) Die Funktion ist nicht nur für englische Zeichen gültig, sondern auch für chinesische Zeichen. Ihr Syntaxformat ist wie folgt:

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

Die Parameterbeschreibung lautet wie folgt:

  • $str: Die abzufangende Zeichenfolge, die at enthält mindestens ein Zeichen;
  • $start: Die Startposition der Zeichenfolge abfangen.
    • Wenn $start eine nicht negative Zahl ist, wird die Zeichenfolge ab der $start-Zeichenposition von $str abgefangen Ist eine negative Zahl, wird die Zeichenfolge ab $ abgefangen. Das Ende von str wird ab der Zeichenposition $start abgefangen.
    $length: Optionaler Parameter, der die Länge der abgefangenen Zeichenfolge angibt.
  • Wenn $length eine positive Zahl ist, wird die Zeichenfolge von der $start-Position bis zu den $length-Zeichen abgefangen.
    • If $length Ist eine negative Zahl, werden die $length-Zeichen am Ende von $string weggelassen (wenn $start eine negative Zahl ist, wird sie ab dem Ende der Zeichenfolge gezählt);
    • Wenn der Wert von $length NULL oder $ ist Wenn die Länge weggelassen wird, wird die Zeichenfolge am Ende abgefangen.
    $encoding: Optionaler Parameter, der die Zeichenkodierung von $str angibt. Wenn er weggelassen wird, wird die interne Zeichenkodierung verwendet.
  • 【Beispiel】Verwenden Sie die Funktion mb_substr(), um eine chinesische Zeichenfolge einer bestimmten Länge abzufangen.
<?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));
?>

Die laufenden Ergebnisse sind wie folgt:

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

[Beispiel] Verwenden Sie die Funktion mb_substr(), um eine Zeichenfolge mit der angegebenen Länge abzufangen und den überschüssigen Teil durch „…“ zu ersetzen.

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

Die laufenden Ergebnisse sind wie folgt:

PHP中文网是一个在线学习编程的网站...

Empfohlenes Lernen: „

PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie das Abfangen chinesischer Zeichenfolgen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn