Maison >développement back-end >tutoriel php >Fonction PHP pour remplacer la partie médiane de la chaîne par des points de suspension

Fonction PHP pour remplacer la partie médiane de la chaîne par des points de suspension

墨辰丷
墨辰丷original
2018-06-11 10:48:492644parcourir

Cet article présente principalement la fonction de remplacement de la partie médiane d'une chaîne par des points de suspension en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

L'exemple de cet article décrit comment PHP remplace le caractère central d'une chaîne par des points de suspension. L'analyse spécifique est la suivante :

Pour une chaîne longue, si vous souhaitez que l'utilisateur voie uniquement le début et la fin du contenu et masque le contenu du milieu, vous pouvez utiliser cette fonction php, qui peut spécifier le chaîne du milieu à masquer. Le nombre de

/**
 * 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);
}

Exemple de démonstration :

// 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)

Résumé : Ce qui précède représente l'intégralité du contenu de cet article, j'espère. cela sera utile à l’apprentissage de chacun.

Recommandations associées :

PHP utilise la classe Snoopy pour implémenter l'exploration des pages

Héritage de la classe php et étendu compétences opérationnelles

Comment utiliser l'instanciation et le clonage d'objets PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn