Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Funktion zum Ersetzen des Mittelteils einer Zeichenfolge durch Ellipsen

PHP-Funktion zum Ersetzen des Mittelteils einer Zeichenfolge durch Ellipsen

墨辰丷
墨辰丷Original
2018-06-11 10:48:492576Durchsuche

In diesem Artikel wird hauptsächlich die Funktion zum Ersetzen des mittleren Teils einer Zeichenfolge durch Auslassungspunkte in PHP vorgestellt. Ich hoffe, dass er für alle hilfreich ist.

Das Beispiel in diesem Artikel beschreibt, wie PHP das mittlere Zeichen einer Zeichenfolge durch ein Auslassungszeichen ersetzt. Die spezifische Analyse lautet wie folgt:

Wenn Sie möchten, dass der Benutzer bei einer langen Zeichenfolge nur den Anfang und das Ende des Inhalts sieht und den mittleren Inhalt ausblendet, können Sie diese PHP-Funktion verwenden, die angeben kann mittlere Zeichenfolge, die ausgeblendet werden soll. Die Menge von

/**
 * Reduce a string by the middle, keeps whole words together
 *
 * @param string $string
 * @param int $max (default 50)
 * @param string $replacement (default [...])
 * @return string
 * @author david at ethinkn dot com
 * @author loic at xhtml dot ne
 * @author arne dot hartherz at gmx dot net
 */
function strMiddleReduceWordSensitive($string,$max=50,$rep='[...]'){
  $strlen = strlen($string);
  if ($strlen <= $max)
    return $string;
  $lengthtokeep = $max - strlen($rep);
  $start = 0;
  $end = 0;
  if (($lengthtokeep % 2) == 0) {
    $start = $lengthtokeep / 2;
    $end = $start;
  } else {
    $start = intval($lengthtokeep / 2);
    $end = $start + 1;
  }
  $i = $start;
  $tmp_string = $string;
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == &#39; &#39;) {
      $tmp_string = substr($tmp_string, 0, $i) . $rep;
      $return = $tmp_string;
    }
    $i++;
  }
  $i = $end;
  $tmp_string = strrev ($string);
  while ($i < $strlen) {
    if (isset($tmp_string[$i]) and $tmp_string[$i] == &#39; &#39;) {
      $tmp_string = substr($tmp_string, 0, $i);
      $return .= strrev ($tmp_string);
    }
    $i++;
  }
  return $return;
  return substr($string, 0, $start).$rep.substr($string, - $end);
}

Demonstrationsbeispiel:

// example:
$text = &#39;This is a very long test sentence, bla foo bar nothing&#39;;
print strMiddleReduceWordSensitive ($text, 30) . "\n";
// Returns: This is a very[...]foo bar nothing (~ 30 chrs)
print strMiddleReduceWordSensitive ($text, 30, &#39;...&#39;) . "\n";
// Returns: This is a very...foo bar nothing (~ 30 chrs)

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird hilfreich sein zum Lernen aller.

Verwandte Empfehlungen:

PHP verwendet die Snoopy-Klasse, um das Seiten-Crawling zu implementieren

Vererbung der PHP-Klasse Und erweitert Betriebsfähigkeiten

So verwenden Sie die Instanziierung und das Klonen von PHP-Objekten

Das obige ist der detaillierte Inhalt vonPHP-Funktion zum Ersetzen des Mittelteils einer Zeichenfolge durch Ellipsen. 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