Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Rempalcer des caracteres par des images...

0 views
Skip to first unread message

Epicurien

unread,
Oct 20, 2009, 4:39:56 PM10/20/09
to
Bonjour � tous,

Je cherche la solution la plus simple pour remplacer des caract�res dans une
chaine, par leur �quivalents en image...
ainsi la chaine "rrw" contenue dans la variable $chaine doit �tre convertie
en "r.gif r.gif w.gif"...

Comment dois-je m'y prendre ?

Merci d'avance pour votre aide...

Olivier Miakinen

unread,
Oct 20, 2009, 4:56:02 PM10/20/09
to
Bonjour,

Le 20/10/2009 22:39, Epicurien a ᅵcrit :
>
> Je cherche la solution la plus simple pour remplacer des caractᅵres dans une
> chaine, par leur ᅵquivalents en image...
> ainsi la chaine "rrw" contenue dans la variable $chaine doit ᅵtre convertie

> en "r.gif r.gif w.gif"...
>
> Comment dois-je m'y prendre ?

Par exemple :
$chaine = chunk_split($chaine, 1, '.gif ') . '.gif';

Ou bien :
$chaine = preg_replace('/./', '$0.gif ', $chaine);

Ou encore :
$chaine = implode('.gif ', str_split($chaine)) . '.gif';

Il y a sᅵrement plein d'autres faᅵons de procᅵder.


P.-S. : str_replace('al', 'la', 'Rempalcer'); ;-)

--
Olivier Miakinen

Michael DENIS

unread,
Oct 21, 2009, 3:33:20 AM10/21/09
to
Epicurien a ᅵcrit :
> Je cherche la solution la plus simple pour remplacer des caractᅵres dans une
> chaine, par leur ᅵquivalents en image...
> ainsi la chaine "rrw" contenue dans la variable $chaine doit ᅵtre convertie
> en "r.gif r.gif w.gif"...

Si j'ai bien compris la question,

*********************************
$chaine = "rrw";

for ($i = 1; $i <= strlen($chaine); $i++) {
$image = substr($chaine, $i-1, 1) . ".gif";
echo "image : $image <br />";
}
*********************************

devrait y rᅵpondre.

--
Michaᅵl DENIS

CrazyCat

unread,
Oct 21, 2009, 3:36:04 AM10/21/09
to
Epicurien wrote:
> Je cherche la solution la plus simple pour remplacer des caract�res dans une
> chaine, par leur �quivalents en image...
> ainsi la chaine "rrw" contenue dans la variable $chaine doit �tre convertie
> en "r.gif r.gif w.gif"...

Je suis un peu �tonn� par ton remplacement, j'aurais plut�t vu:
<img src="r.gif" alt="r" />

Et donc
$letters = str_split($chaine);
$imgs = array();
foreach($letters as $k => $v) {
if ($v=='') $v = 'blank';
$imgs[] = '<img src="'.$v.'.gif" alt="'.$v.'" />';
}
$chain = implode('', $imgs);

--
R�seau IRC Francophone: http://www.zeolia.net
Aide et astuces : http://www.g33k-zone.org
Communaut� Francophone sur les Eggdrops: http://www.eggdrop.fr

Olivier Masson

unread,
Oct 21, 2009, 9:38:43 AM10/21/09
to
Michael DENIS a ᅵcrit :

ᅵa ne rᅵpond pas ᅵ la mᅵme question.

Je rappelle que $chaine[$i] renvoie le caractᅵre en position i.

Michael DENIS

unread,
Oct 21, 2009, 1:40:46 PM10/21/09
to
Olivier Masson a ᅵcrit :

>>> ainsi la chaine "rrw" contenue dans la variable $chaine doit ᅵtre convertie
>>> en "r.gif r.gif w.gif"...

> ᅵa ne rᅵpond pas ᅵ la mᅵme question.

Si je ne me trompe pas dans l'analyse de la question, mon code y rᅵpond
bien. Epicurien pourra sans doute nous ᅵclairer. Mais il est vrai qu'en
rᅵpondant un peu plus strictement et en utilisant votre remarque (je ne
me lasse pas d'apprendre :-)), on aurait plutᅵt :

*********************************
$chaine = 'rrw';
$image = '';

for ($i = 1; $i <= strlen($chaine); $i++) {

$image .= $chaine[$i-1] . '.gif ';
}

echo $image;
*********************************

Je pars bien d'une chaᅵne "rrw" pour obtenir une autre chaᅵne "r.gif
r.gif w.gif " (avec un espace en fin de chaᅵne qui ne serait pas trᅵs
compliquᅵ ᅵ gᅵrer :-)).

--
Michaᅵl DENIS

Pierre Maurette

unread,
Oct 22, 2009, 6:07:53 AM10/22/09
to
Olivier Masson, le 21/10/2009 a ᅵcrit :

[...]

> ᅵa ne rᅵpond pas ᅵ la mᅵme question.

C'est exact. Mais je ne suis pas sᅵr que la question soit trᅵs bien
posᅵe. J'intuite que le but est d'afficher une chaᅵne ᅵ l'aide d'un
alphabet graphique (glyphes ?), alphabet normal, langage des pavillons,
que sais-je encore.

Je ne sais pas si on peut mettre les images ᅵ la suite, il me semble
prᅵfᅵrable de prᅵvoir une certaine souplesse pour affiner la mise en
page. A la base on pourrait avoir:

echo $prolog;
for ($i = 0; $i < $len; $i++) {
$car = $chaine {$i} == ' ' ? 'space' : $chaine {$i} ;
echo $before.'<img src="'.$car.'.gif" alt="'.$car.'" />'.$after;
}
echo $epilog;

Ensuite on dᅵtermine si on utilise un tableau, des span, ou autre. Un
exemple fonctionnel, ᅵ partir d'un tableau:

$chaine = "Pierre Maurette";
$len = strlen($chaine);
/* Calculs*/
$w = '800';
$before = " <td>";
$after = "</td>\n";
$prolog = '<table width="'.$w.'" border="0" cellspacing="0"
cellpadding="0">'."\n".' <tr>'."\n";
$epilog = ' </tr>'."\n".'</table>';

echo $prolog;
for ($i = 0; $i < $len; $i++) {
$car = $chaine {$i} == ' ' ? 'space' : $chaine {$i} ;
echo $before.'<img src="'.$car.'.gif" alt="'.$car.'" />'.$after;
}
echo $epilog;

C'est sans doute mauvais, je ne connais sans doute pas le quart de Php,
que pourtant j'utilise :-(
En plus je mets en page le code HTML, ce n'est peut-ᅵtre pas une bonne
idᅵe.
Il est relativement facile de dimensionner les images en fonction de
$len, voire de splitter en deux lignes.

--
Pierre Maurette

Epicurien

unread,
Oct 24, 2009, 3:12:31 PM10/24/09
to
Bon je me suis d�brouill� pour �viter les usines � gaz...

Un simple FOR fonctionne tr�s bien... Pas la peine de faire des
conplications... ;)

for ($i=0; $i<strlen($chaine); $i++)
{
echo "<img src='".$chaine[$i].".gif' />";
}

Pierre Maurette

unread,
Oct 24, 2009, 4:19:04 PM10/24/09
to
Epicurien, le 24/10/2009 a ᅵcrit :
> Bon je me suis dᅵbrouillᅵ pour ᅵviter les usines ᅵ gaz...
>
> Un simple FOR fonctionne trᅵs bien... Pas la peine de faire des
> conplications... ;)
>
> for ($i=0; $i<strlen($chaine); $i++)
> {
> echo "<img src='".$chaine[$i].".gif' />";
> }

Et surtout ne dites pas /Merci/.

--
Pierre Maurette

Epicurien

unread,
Oct 25, 2009, 3:54:08 PM10/25/09
to
> Et surtout ne dites pas /Merci/.

Merci � qui .? Je me suis d�brouill� SEUL !!!

Et je viens faire part de mon code c'est d�j� gentil je trouve...
Alors ce genre de r�flexion me semble fort d�plac�e...

Olivier Miakinen

unread,
Oct 25, 2009, 4:19:06 PM10/25/09
to
Le 25/10/2009 20:54, Epicurien rᅵpondait ᅵ Pierre Maurette :

>> Et surtout ne dites pas /Merci/.
>
> Merci ᅵ qui .? Je me suis dᅵbrouillᅵ SEUL !!!

Ah ? Parce que tu n'as pas vu que la proposition de Michael Denis ᅵtait
quasiment identique ᅵ la tienne ? Et mᅵme si ᅵa n'avait pas ᅵtᅵ le cas,
le fait que tu aies choisi une solution ᅵventuellement diffᅵrente de
toutes celles qui t'ont ᅵtᅵ proposᅵes ne change rien au fait qu'on a
pris du temps gratuitement pour les ᅵcrire, ces propositions.

> Et je viens faire part de mon code c'est dᅵjᅵ gentil je trouve...
> Alors ce genre de rᅵflexion me semble fort dᅵplacᅵe...

Pour ma part c'est ta rᅵponse qui me semble dᅵplacᅵe, bien plus mᅵme que
le fait de ne pas avoir dit merci.

--
Olivier Miakinen

Olivier Masson

unread,
Oct 26, 2009, 11:32:28 AM10/26/09
to
Epicurien a �crit :

Ah fallait l'oser celle-l� ! �a motive les gens qui aident !
Et en plus il nous dit que c'est lui le symap dans l'histoire...

Alex Vaure

unread,
Oct 26, 2009, 2:09:38 PM10/26/09
to
Olivier Masson <sis...@laposte.net> wrote:

Ouaip, moi aussi je suis tomb� de ma chaise...
Faut laisser pisser, surtout que c'est particuli�rement un groupe ou
l'aide apport�e et rapide et de qualit�, enfin, je trouve :-)
--
Alex
Vous avez beau dire, y'a pas seulement que de la pomme, y'a aut'chose.
�a serait pas d�s fois de la betterave, hein ?

0 new messages