Transformation d'une chaine de caractére

Fermé
banane - 27 nov. 2008 à 16:48
 banane - 28 nov. 2008 à 22:01
Bonjour a toi lecteur,

Alors voila mon petit soucis.

Je souhaiterai transformer une chaine de caractère que je récupère d'une bdd.
Je souhaiterai que la première lettre de chaque mot de la chaine se transforpme en majuscule et change de couleur.
A oui, je souhaiterai le faire en php si possible ou en javascript.

Je suis over perdu sur le coup, alors si vous avez une petite idée exprimé la moi je vous en supplie HIHI.
A voir également:

6 réponses

deglingo592003 Messages postés 77 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 31 janvier 2014 11
27 nov. 2008 à 19:52
aprés récuperation de ta chaine par une requete SELECT toute simple utilise la fonction ucfirst :

Description
string ucfirst ( string $str )

Retourne la chaîne str après avoir remplacé le premier caractère par sa majuscule, si le premier caractère est alphabétique.

Notez que la notion d'"alphabétique" est déterminée par la configuration de localisation. Cela signifie que pour la configuration par défaut "C", les caractères tels que les voyelles accentuées (comme é, è ou à) ne seront pas converties.

pour ce qui est de la couleur tu peux modifier ça avec un peu de CSS
0
OULALA

j'ai pas tout suivi et pourtant j'essay.

enfaite je récupére une variable $titre qui est donc ma chaine sur laquel je veut contrôler.
Donc je voudrai détecté le nombre de mot et que chaque premiére lettre sois transformé en majuscule et en couleur le tout dans un script php.

je ne vois pas trop comment faire avec votre proposition

;)
0
deglingo592003 Messages postés 77 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 31 janvier 2014 11
27 nov. 2008 à 20:24
pour reprendre une exemple trouver sur le net

<?php
$titre = 'bonjour tout le monde!';
$titre = ucfirst($titre); // retournera : Bonjour tout le monde!
?>

cette fonction retourne donc votre chaine $titre avec la première lettre en majuscule

je ne sais pas si il existe une fonction qui retourne chaque début de mot en majuscule (vous voudriez par exemple au lieu de Bonjour tout le monde mais plutôt Bonjour Tout Le Monde c'est bien ça ?)

j'ai pas de fonction toute faite en tête mais si par exemple vous avez donc $titre = "bonjours tout le monde"

je pense qui faudrait découper votre chaine de manière a ce qu'après chaque espace on sait qu'il y a un nouveau mot avec une première lettre à mettre en majuscule

pour cela vous pouvez utiliser la fonction str_split() pour découper votre chaine de caractere

plus d'information sur les deux fonctions

http://www.manuelphp.com/php/function.str-split.php

http://www.manuelphp.com/php/function.ucfirst.php
0
C exactement ça.

Je v regarder les deux fonction jointe histoire de voir comment splitter avec un séparateur 'espace' a va étre tendu lol.

Et pour le changement de couleur pas d'idée?

Merci bien.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
deglingo592003 Messages postés 77 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 31 janvier 2014 11
27 nov. 2008 à 20:58
pour le changement de couleur je suppose que c'est juste un affichage sur le navigateur ?

si c'est ça en passant par une feuille de style css en précisant pour un style donné la couleur souhaiter cela devrait fonctionner
0
Merci encore pour vos informations.
Après avoir regardé plus en détail j'ai aboutit a se code:

$mt = 0;
$tt = 0;
$titre = $data['titre'];
$mot = explode(" ", $titre);

for ($mt = 0; $mot[$mt] != ""; $mt++) {
$result = strlen($mot[$mt]);

$str = "" . ucfirst($mot[$mt]) . "";

for ($tt = 0; $tt <= $result; $tt++) {
if ($tt == 0) { echo "<span style=\"color: #77a4c0\">"; } else { }
echo "" . $str{$tt} . " ";
if ($tt == 0) { echo "</span>"; } else { }
}

echo "&nbsp;&nbsp;";
}


Il ne me reste plus que l'encodage des accents, une idée?
0