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 . '...'; break; //如果进行了截取,字符串末尾加省略符号“...” } } return $s; }
Die aufrufende Methode ist sehr einfach. Rufen Sie einfach den Methodennamen direkt in einer gewöhnlichen PHP-Datei auf:
cut();
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);
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);