Suite à ma question d´hier, j´ai découvert un peu plus avant le css, et je me demande si il est possible de faire quelque chose comme ceci avec:
J´aimerai transformer
"<mabalise>Du texte</mabalise>"
en :
<table>
<tr><td background=´uneimage´></td></tr>
<tr><td background=´uneimage2´>Mon texte</td></tr>
<tr><td background=´uneimage3´></td></tr>
</table>
(plus quelques détails genre taille des cellules etc etc..)
C´est possible
Si oui comment ? (en gros)
Merci d´avance ![]()
non je crois pas :D
car le css ne prend qu´une balise a la fois
par contre en php avec les fonctions ;) :
<?php
function rapide($texte)
{
?>
<table>
<tr><td background=´uneimage´></td></tr>
<tr><td background=´uneimage2´><?php echo $texte; ?> </td></tr>
<tr><td background=´uneimage3´></td></tr>
</table>
<?php
}
rapide("Met ton texte ici");
?>
@+
Snake.
![]()
Euh, j´ai déclaré la fonction entre <head> et </head> mais quand je l´appel il se passe rien...
J´ai ajouté un echo de test pour vérifier et il n´apparait pas non plus.
Je pense pas avoir loupé l´appel de fonction :
<?php rapide(´essai1´); ?>
Non
il faut faire comme ceci:
<?php
function rapide($texte)
{
echo ´
<table>
<tr><td background="uneimage"></td></tr>
<tr><td background="uneimage2">´ . $texte . ´</td></tr>
<tr><td background="uneimage3"></td></tr>
</table> ´;
}
$texte = ´essai1´;
rapide($texte);
$texte = ´essai2´;
rapide($texte);
?>
Tu peux changer la valeur d´une variable autant de fois que tu veux ;)
"Euh, j´ai déclaré la fonction entre <head> et </head> mais quand je l´appel il se passe rien..."
Il ne faut pas confondre, on n´intègre pas du code PHP dans du HTML, mais l´inverse. Ce n´est pas comme quand tu utilise du JavaScript dans du HTML.
Bon, voyons voir ça !
Perso, je préfère mettre les fonctions dans un fichier séparé.
Dans un fichier functions.php tu mets :
<?php
function rapide($texte)
{
echo " <table>\n";
echo " <tr>\n";
echo " <td background=\"image1.gif\"></td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td background=\"image2.gif\">" . $texte . "</td>\n";
echo " </tr>\n";
echo " <tr>\n";
echo " <td background=\"image3.gif\"></td>\n";
echo " </tr>\n";
echo " </table>\n";
}
// autres fonction à toi
?>
Dans un fichier test.php tu mets :
<?php
require_once("functions.php");
?>
<html>
<head>
<title> utilisation de la fonction rapide</title>
</head>
<body>
<!-- ton code html à toi -->
<?php
rapide("1er test");
rapide("2ème test");
?>
<p>
Tu sais, ce genre de fonction fonctionne aussi au milieu du code HTML <?php rapide("test concluant"); ?> même si dans le cas présent l´utilisation d´un tableau au milieu d´un paragraphe n´est pas très judicieux !
</p>
<!-- autre code html à toi -->
</body>
</html>
En l´occurence je vois pas trop l´intérêt de mettre des \n partout, ni de ne pas mettre le code dans une seule fonction echo oO
Tout simplement pour générer du code HTML propre et lisible. C´est plus pratique pour trouver les erreurs !
Merci beaucoup, en fin de compte j´ai utilisé la bonne vieille méthode barbare des familles:
le include : un pour ouvrir le tableau jusqu´au texte, un pour tout refermer !
Ce me fait une ligne de plus mais bon
tout le monde quand même ![]()
Moui, une indentation correcte suffit pour que ce soit propre et lisible, mais après, c´est évidemment une question de point de vue, chacun code à sa façon après tout !
Il est vrai que j´aurais pu n´utiliser qu´un seul echo en faisant :
function rapide($texte)
{
echo " <table>\n"
. " <tr>\n"
. " <td background=\"image1.gif\"></td>\n"
. " </tr>\n"
. " <tr>\n"
. " <td background=\"image2.gif\">" . $texte . "</td>\n"
. " </tr>\n"
. " <tr>\n"
. " <td background=\"image3.gif\"></td>\n"
. " </tr>\n"
. " </table>\n";
}
la ruse ![]()
Oui et non, la 2ème méthode n´exécute qu´une seule fois la fonction echo. Celà correspond à une seule ligne, puisque ce n´est qu´une série de concaténations de chaînes de caractères.
la 1ère méthodes exécutait plusieurs (11 pour être exact) fois la fonction echo, ce qui veut dire une perte de temps !
les concaténation, c´est pour moi, juste pour une question de lisibilité du code, je distingue mieux la structure du code HTML !
-Dr_Thrawn-
Posté le 26 août 2005 à 19:48:08
Moui, une indentation correcte suffit pour que ce soit propre et lisible, mais après, c´est évidemment une question de point de vue, chacun code à sa façon après tout !
Quand le html dans le echo est lu, l´interpréteur ne lit pas les espaces que tu mets, donc tu laisses le code html aligné...
La méthode de Yoda est de loin la meilleur.
Arf, tant que ce topic est là j´en rpfoite:
http://darkgimpy.free.fr/Vanderia/faq.php
Comme vous le voyez si vous avez pas uns grande résolution, quand on scroll vers le bas on voit que la zone blanche au milieu a pour hauteur la taille de la fenetre du navigateur et non celle de la page (height:100%;). Y´a til un moyen de régler ce problème?
Fil > Oui, il faut que tu règles la taille en pixels et non en pourcentage.
Kamikaze > Je suis pas sûr de comprendre ce que tu veux dire, lorsque j´affiche la source de mon code généré par du PHP, il est indenté correctement, sans qu´il y ait besoin d´utiliser des \n à l´intérieur de la fonction echo, par contre j´enregistre moins de caractères et optimise donc la rapidité de chargement un meximum !
"-Dr_Thrawn-
Posté le 27 août 2005 à 19:00:22
Fil > Oui, il faut que tu règles la taille en pixels et non en pourcentage. "
Mais la taille n´est pas égale sur toutes les pages (elles n´ont pas toutes la meme longueur de texte); Et si je mets un truc tres grand je vais avoir du blanc en trop non?
Laisse moi une petite minute, le temps que j´examine ton code pour voir ce qui ne va pas, mais j´ai ma petite idée ;)