Rechercher : dans
Par :

Transformation d'une chaine de caractére

Dernière réponse le 28 nov 2008 à 22:01:50 banane, le 27 nov 2008 à 16:48:12 
 Signaler ce message aux modérateurs

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.

Configuration: Windows XP
Firefox 3.0.4

Meilleures réponses pour « Transformation d'une chaine de caractére » dans :
PHP - Nettoyer une chaîne de caractères VoirVoici une fonction en PHP qui peut être assez pratique, surtout quand on fait de l'URL Rewriting. Cette fonction permet de transformer les caractères de n'importe quelle chaîne de caractères en chaîne non accentuée, en enlevant les caractères...
Supprimer les accents avec PHP VoirPour un tas de raisons, il est parfois utile de convertir un texte accentué en un texte sans accents. Voici une fonction permettant de transformer très simplement la quasi-totalité des accents en leur équivalent non-accentués : function...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Javascript - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractère Une chaîne de caractère est, comme son nom l'indique, une suite de caractères. On la représente par la suite de caractères encadrée par des guillemets simples (') ou doubles ("), sachant que les deux types de...

1

deglingo592003, le 27 nov 2008 à 19:52:40

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

Répondre à deglingo592003

2

banane, le 27 nov 2008 à 19:57:45

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

;)

Répondre à banane

3

deglingo592003, le 27 nov 2008 à 20:24:06

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

Répondre à deglingo592003

4

banane, le 27 nov 2008 à 20:27:44

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.

Répondre à banane

5

deglingo592003, le 27 nov 2008 à 20:58:10

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

Répondre à deglingo592003

6

 banane, le 28 nov 2008 à 22:01:50

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?

Répondre à banane
Collection CommentÇaMarche.net