Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/tgarchive/forum/include/parser.php on line 414

#1 09-08-2006 19:25:52

MagicYoyo
Tagglers
Lieu: Montpellier
Date d'inscription: 04-01-2006
Messages: 2212
Site web

PHP, changer la casse d'un texte

Salut;

Je dois changer la casse d'un texte récupéré par un formulaire, pour le passer tout en minuscule. J'ai trouvé un bout de code sur SPIP contrib (quelle mine d'info !), mais je suis pas sur de bien le comprendre et de savoir comment l'utiliser.

Code:

// vérifie la casse du titre afin de le mettre en minuscules
// s'il est tout en majuscules et de forcer la 1ère lettre en majuscule
function casse_titre($titre) {
  if (!ereg("([a-z|\.]+)", $titre)) $titre = strtolower($titre);
  // si le titre commence par un numéro (1. ), 
  // il faut mettre le 1er car qui suit en majuscules
  if (ereg("^[0-9]+\. ", $titre)) {
    $pos = strpos($titre, " ");
    if (is_integer($pos) && $pos) 
      return substr($titre, 0, $pos) . " " . ucfirst(substr($titre, $pos+1));
    else return $titre;
  }
  else return ucfirst($titre);
}

Quelqu'un pourrait-il me commenter un peu mieux le code, étape par étape que je comprenne ce qu'il fait ?


"La forme, c'est le fond qui remonte à la surface." Victor Hugo

Mon blog sur le webmarketing | Mon job

Hors ligne

 

#2 09-08-2006 19:29:44

MagicYoyo
Tagglers
Lieu: Montpellier
Date d'inscription: 04-01-2006
Messages: 2212
Site web

Re: PHP, changer la casse d'un texte

Je crois que j'ai trouvé tout seul. big_smile
C'est strtolower() qui fait le boulot. Le reste, je crois que j'en ai pas besoin. Je vais voir avec le manuel PHP si j'y arrive !


"La forme, c'est le fond qui remonte à la surface." Victor Hugo

Mon blog sur le webmarketing | Mon job

Hors ligne

 

#3 09-08-2006 19:29:59

Rottman
Tagglers+
Date d'inscription: 06-10-2005
Messages: 455
Site web

Re: PHP, changer la casse d'un texte

La difference entre   $titre = ucfirst(strtolower($titre)); et ton script, c'est que le tien permet de mettre en majuscule le deuxième caractère si le premier est un chiffre.

Hors ligne

 

#4 09-08-2006 19:53:06

pagetronic
Pre-Malgache
Lieu: skynet.mars
Date d'inscription: 12-04-2006
Messages: 3542
Site web

Re: PHP, changer la casse d'un texte

Oui parce que dans spip tu peux numéroter tes articles pour leurs donner un ordre

et effacer ensuite ce chiffre dans la boucle du template

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 R. Andersson