Heim > Backend-Entwicklung > PHP-Tutorial > Benutzerdefinierte Funktion zum Abfangen von PHP-Strings

Benutzerdefinierte Funktion zum Abfangen von PHP-Strings

高洛峰
Freigeben: 2016-10-21 10:08:16
Original
1067 Leute haben es durchsucht

Die benutzerdefinierte Funktion zum Abfangen von PHP-Strings ist eine Funktion, die wir häufig im Entwicklungsprozess verwenden. Im Allgemeinen kann die integrierte Funktion von PHP verwendet werden, sie ist jedoch nicht besonders einfach zu verwenden, insbesondere die Unterstützung für Chinesisch ist nicht besonders benutzerfreundlich Wir passen einfach eines selbst an.

//$Str为截取字符串,$Length为需要截取的长度
function cut($Str, $Length,$more=true) {
    global $s;
    $i = 0;
    $l = 0;
    $ll = strlen($Str);
    $s = $Str;
    $f = true;
    while ($i <= $ll) {
        if (ord($Str{$i}) < 0x80) {
            $l++; $i++;
        } else if (ord($Str{$i}) < 0xe0) {
            $l++; $i += 2;
        } else if (ord($Str{$i}) < 0xf0) {
            $l += 2; $i += 3;
        } else if (ord($Str{$i}) < 0xf8) {
            $l += 1; $i += 4;
        } else if (ord($Str{$i}) < 0xfc) {
            $l += 1; $i += 5;
        } else if (ord($Str{$i}) < 0xfe) {
            $l += 1; $i += 6;
        }
        if (($l >= $Length - 1) && $f) {
            $s = substr($Str, 0, $i);
            $f = false;
        }
        if (($l > $Length) && ($i < $ll) && $more) {
            $s = $s . &#39;...&#39;; break; //如果进行了截取,字符串末尾加省略符号“...”
        }
    }
    return $s;
}
Nach dem Login kopieren

Die aufrufende Methode ist sehr einfach. Rufen Sie einfach den Methodennamen direkt in einer gewöhnlichen PHP-Datei auf:

cut();
Nach dem Login kopieren

Allerdings müssen Parameter übergeben werden, normalerweise die ersten und Die zweiten 2 sind erforderlich, die dritte ist optional.

Wenn wir beispielsweise die ersten 10 Zeichen einer Zeichenfolge abfangen möchten, rufen wir Folgendes auf:

cut($str,10);
Nach dem Login kopieren

wobei $str das ist Eine abzufangende Zeichenfolge, 10 ist die Länge.

Denn wenn die Länge vor dem Abfangen die Länge nach dem Abfangen überschreitet, verwendet die Überschussfunktion standardmäßig „...“, um die folgende Zeichenfolge zu ersetzen

Wenn wir nicht Wenn Sie nicht möchten, dass der überschüssige Teil ausgeblendet und durch „…“ ersetzt wird, müssen wir am Ende nur einen weiteren Parameter „false“ hinzufügen, z. B.

cut($str,10,false);
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage