Heim  >  Artikel  >  Backend-Entwicklung  >  Über die integrierte String-Interception-Funktion von thinkPHP

Über die integrierte String-Interception-Funktion von thinkPHP

不言
不言Original
2018-06-08 15:25:592171Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung der integrierten String-Abfangfunktion von thinkPHP vor. Er analysiert die Funktion und spezifische Verwendung der integrierten String-Abfangfunktion von thinkPHP in Form von Beispielen und gibt Tipps zur Änderung des Quellcodes für diejenigen, die dies nicht können Ellipsen hinzufügen. Freunde in Not können sich darauf beziehen.

Das Beispiel in diesem Artikel beschreibt die Verwendung der integrierten String-Abfangfunktion. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

thinkphp verfügt über eine integrierte Template-Engine, die mit smarty vergleichbar ist, was uns großen Komfort bietet. Das Gleiche gilt für das Aufrufen von Funktionen. Sie können die Funktionen, die Sie benötigen, genau wie Smarty aufrufen, und der Beamte verfügt über einige integrierte Funktionen, die jeder aufrufen kann.

Zum Beispiel kann die Interception-String-Funktion, über die wir heute sprechen, in der Thinkphp-Template-Engine so geschrieben werden: {$vo.title|msubstr=0,5,'utf-8′,false} As für {$vo. title}Jeder muss damit vertraut sein. Lassen Sie uns über die folgende Funktion msubstr sprechen. Was es bedeutet, ist, die Zeichenfolge $vo.title abzufangen, beginnend mit 0 Zeichen und 5 Zeichen abzufangen. Es wird UTF-8-Codierung verwendet und die Auslassungspunkte werden nach dem Abfangen standardmäßig nicht angezeigt. Wenn Sie die Auslassungspunkte anzeigen möchten, ändern Sie einfach „false“ in „true“.

Funktionserklärung:

msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)

Parameterfunktion:

$str: Abzufangende Zeichenfolge
$start=0: Startposition, Standard beginnt bei 0
$length: Abfanglänge
$charset="utf-8": Zeichenkodierung, Standard UTF - 8
$suffix=true: Gibt an, ob nach dem abgefangenen Zeichen eine Ellipse angezeigt werden soll. Die Standardeinstellung ist true für die Anzeige und false für die Nichtanzeige

ps: Wenn nicht, bedeutet dies, dass Sie die Funktionsbibliothek nicht geladen haben. Sie können Load('extend'); verwenden, um die Funktion zu laden und in die Aktion ~ einzufügen.

Testversion: Die offizielle msubstr-Funktion scheint ohnehin nicht in der Lage zu sein, eine Ellipse hinzuzufügen. Ich habe im offiziellen Website-Forum eine Änderungsmethode gefunden, die nach dem Testen normal verwendet werden kann ~!

Ändern Sie die msubstr-Funktion der Datei Commonextend.php in den folgenden Code:

function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
  if(function_exists("mb_substr")){
    if($suffix)
       return mb_substr($str, $start, $length, $charset)."...";
    else
       return mb_substr($str, $start, $length, $charset);
  }
  elseif(function_exists('iconv_substr')) {
    if($suffix)
       return iconv_substr($str,$start,$length,$charset)."...";
    else
       return iconv_substr($str,$start,$length,$charset);
  }
  $re['utf-8']  = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
  $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
  $re['gbk']  = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
  $re['big5']  = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
  preg_match_all($re[$charset], $str, $match);
  $slice = join("",array_slice($match[0], $start, $length));
  if($suffix) return $slice."…";
  return $slice;
}

Das Obige ist das Ich hoffe, dass der Inhalt des gesamten Artikels für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Über die Tabellenmethode der ThinkPHP CURD-Methode

Verwenden Sie das integrierte ThinkAjax von ThinkPHP zur asynchronen Implementierung Übertragungstechnik Implementierungsmethode

Das obige ist der detaillierte Inhalt vonÜber die integrierte String-Interception-Funktion von thinkPHP. 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