Mettre le Premier Caractère de Chaque Ligne en Majuscule

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mettre le Premier Caractère de Chaque Ligne en Majuscule

par albat » 01 mars 2006, 21:46

Un p'tit [Résolu] alors ? ;)

par qmeuh » 01 mars 2006, 21:28

Merci beaucoup ! Fonctionne très rapidement et parfaitement ...
J'ai ajouter trim() dans la boucle pour supprimer les espaces superflus :wink: -> D'une pierre 2 coups :p

par Ripat » 01 mars 2006, 09:58

Possible à faire avec le traitement de chaîne conventionnel:
file() -> boucle sur les lignes -> ucfirst() -> boucle pour reconstituer le texte.

Ou bien, plus court (pas nécessairement plus lent - à tester):
function myUcfirts($captures){
  return strtoupper($captures[0]);
}

$txt = preg_replace_callback('´^\w´m', 'myUcfirts', $txt);

echo '<pre>'.$txt.'</pre>';
Edit: version traitement de chaînes
$aTxt = explode("\n", $txt);
foreach($aTxt as $v){
  $out .= ucfirst($v)."\n";
}
echo '<pre>'.$out.'</pre>';
Pas de différences notable en vitesse d'exécution.

Mettre le Premier Caractère de Chaque Ligne en Majuscule

par qmeuh » 01 mars 2006, 01:44

Salut à tous !

Eh beh le titre dit tout héhé
Je sais que pour mettre le premier caractère d'une chaine en majuscule on fait ucfirst() mais pour selectionner séparement chaque ligne ... boh :(

Merci d'avance !

EDIT : Est-ce que ca fonctionnerait avec strtok() ? Pour découper la chaine en morceau en utilisant \n comme séparateur ?