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...
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
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
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
ᅵa ne rᅵpond pas ᅵ la mᅵme question.
Je rappelle que $chaine[$i] renvoie le caractᅵre en position i.
> ᅵ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
[...]
> ᅵ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
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
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...
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
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...
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 ?