Maison développement back-end tutoriel php Méthode PHP pour remplacer le caractère du milieu d'une chaîne par des points de suspension

Méthode PHP pour remplacer le caractère du milieu d'une chaîne par des points de suspension

Jul 07, 2017 am 10:11 AM
php 字符串

Cet article présente principalement la méthode de remplacement du caractère central de la chaîne par des points de suspension en PHP. Il peut réaliser la fonction de remplacement de la partie médiane de la chaîne par une ellipse. Il convient aux personnes sensibles. des informations telles que les numéros de compte et les numéros de téléphone portable. Cachés, les amis qui en ont besoin peuvent se référer à

Cet article décrit la méthode de remplacement du caractère central d'une chaîne par une ellipse en PHP. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Pour une longue chaîne, si vous souhaitez que l'utilisateur ne voie qu'une partie du contenu de la tête et de la queue et masque le contenu du milieu, vous pouvez utiliser cette fonction php , qui permet de préciser le contenu souhaité Le nombre de chaînes intermédiaires cachées

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

/**

 * 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] == ' ') {

      $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] == ' ') {

      $tmp_string = substr($tmp_string, 0, $i);

      $return .= strrev ($tmp_string);

    }

    $i++;

  }

  return $return;

  return substr($string, 0, $start).$rep.substr($string, - $end);

}

Copier après la connexion

Exemple de démonstration :

1

2

3

4

5

6

// example:

$text = 'This is a very long test sentence, bla foo bar nothing';

print strMiddleReduceWordSensitive ($text, 30) . "\n";

// Returns: This is a very[...]foo bar nothing (~ 30 chrs)

print strMiddleReduceWordSensitive ($text, 30, '...') . "\n";

// Returns: This is a very...foo bar nothing (~ 30 chrs)

Copier après la connexion

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 de ce site Web
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

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Date et heure de CakePHP

Configuration du projet CakePHP Configuration du projet CakePHP Sep 10, 2024 pm 05:25 PM

Configuration du projet CakePHP

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Téléchargement de fichiers CakePHP

Routage CakePHP Routage CakePHP Sep 10, 2024 pm 05:25 PM

Routage CakePHP

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

Discuter de CakePHP

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Comment configurer Visual Studio Code (VS Code) pour le développement PHP

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

Guide rapide CakePHP

See all articles