Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body><br>
<hr size="2" width="100%">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body><br>
<hr size="2" width="100%">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body><br>
<hr size="2" width="100%">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Ça me semble facile. Le fichier appelé étant interprété par PHP, il te
suffir de positionner une variable booléenne dans l'appelant qui, si
elle est présente et égale à TRUE dans l'appelé, désactivera l'affichage
du <head>.
Cela étant dit, ton problème n'est pas limité à la duplication des
<head> et </head>. Tout d'abord il y a aussi duplication du DOCTYPE,
de <body> et de </body>, mais aussi il te manque le <title> obligatoire.
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
Ah, d'accord. En fait le problème est que tu utilises un éditeur qui
prend des fragments de code HTML pour des pages entières. Je suis quand
même surpris qu'il ne mette pas de <title>, mais passons.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
Pas de <title> ici : c'est mal</head>
<body><br>
Beuah... c'est quoi ce <br> en debut de page ?
Et un autre <body>, etc. ad nauseam.
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
Pareil avec un navigateur le moindrement respectueux des normes, et un
peu moins tolérant que d'autres.En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Le faire à chaque include, c'est très lourd, oui. Mais le faire une fois
par une petite moulinette que tu ne lances que lorsqu'un fichier est
modifié, c'est bien plus propre.
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Ça me semble facile. Le fichier appelé étant interprété par PHP, il te
suffir de positionner une variable booléenne dans l'appelant qui, si
elle est présente et égale à TRUE dans l'appelé, désactivera l'affichage
du <head>.
Cela étant dit, ton problème n'est pas limité à la duplication des
<head> et </head>. Tout d'abord il y a aussi duplication du DOCTYPE,
de <body> et de </body>, mais aussi il te manque le <title> obligatoire.
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
Ah, d'accord. En fait le problème est que tu utilises un éditeur qui
prend des fragments de code HTML pour des pages entières. Je suis quand
même surpris qu'il ne mette pas de <title>, mais passons.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
Pas de <title> ici : c'est mal
</head>
<body><br>
Beuah... c'est quoi ce <br> en debut de page ?
Et un autre <body>, etc. ad nauseam.
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
Pareil avec un navigateur le moindrement respectueux des normes, et un
peu moins tolérant que d'autres.
En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Le faire à chaque include, c'est très lourd, oui. Mais le faire une fois
par une petite moulinette que tu ne lances que lorsqu'un fichier est
modifié, c'est bien plus propre.
Existe-t-il un "include" intelligent, qui n'incluerait pas les <head>,
etc. quand ils sont déjà dans le fichier appelant ?
Ça me semble facile. Le fichier appelé étant interprété par PHP, il te
suffir de positionner une variable booléenne dans l'appelant qui, si
elle est présente et égale à TRUE dans l'appelé, désactivera l'affichage
du <head>.
Cela étant dit, ton problème n'est pas limité à la duplication des
<head> et </head>. Tout d'abord il y a aussi duplication du DOCTYPE,
de <body> et de </body>, mais aussi il te manque le <title> obligatoire.
[...]
Comme je voudrais éditer ces fichiers avec le composeur de Mozilla,
je me retrouve avec les <head> des fichiers inclus, [...]
Ah, d'accord. En fait le problème est que tu utilises un éditeur qui
prend des fragments de code HTML pour des pages entières. Je suis quand
même surpris qu'il ne mette pas de <title>, mais passons.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
Pas de <title> ici : c'est mal</head>
<body><br>
Beuah... c'est quoi ce <br> en debut de page ?
Et un autre <body>, etc. ad nauseam.
[...]
Une telle page est lisible sans problème avec un navigateur récent.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
Mais avec un navigateur le moindrement ancien, on se retrouvera avec
une page qui finit avec le premier </html> si cela ne plante pas
auparavant.
Pareil avec un navigateur le moindrement respectueux des normes, et un
peu moins tolérant que d'autres.En fouillant sur www.php.net, je vois que je pourrais faire un
file_get_contents, un remplacement de chaine puis un file_put_contents
mais je trouve cela un peu lourd pour un problème qui me semble assez
commun...
Le faire à chaque include, c'est très lourd, oui. Mais le faire une fois
par une petite moulinette que tu ne lances que lorsqu'un fichier est
modifié, c'est bien plus propre.
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
[ <title> absent ]
Le title est là, ainsi que les meta. Je les avais enlevés pour ne pas
alourdir le message.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
C'est ce que j'ai fait. Pour référence, la moulinette (en DOS) est:
find /v "<!DOCTYPE" <a.htm | find /v "head>" | find /v "body>" >a.php
Le hic est qu'il faudra la changer quand le composeur changera le
contenu des en-têtes.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
[...] Mais je suis tout de même surpris que le PHP n'[ait] pas
prévu le coup, surtout qu'il y a maintenant un include permettant
de prendre des pages sur d'autres sites, donc en théorie, des pages
contenant toutes les en-têtes.
[ <title> absent ]
Le title est là, ainsi que les meta. Je les avais enlevés pour ne pas
alourdir le message.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
C'est ce que j'ai fait. Pour référence, la moulinette (en DOS) est:
find /v "<!DOCTYPE" <a.htm | find /v "head>" | find /v "body>" >a.php
Le hic est qu'il faudra la changer quand le composeur changera le
contenu des en-têtes.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
[...] Mais je suis tout de même surpris que le PHP n'[ait] pas
prévu le coup, surtout qu'il y a maintenant un include permettant
de prendre des pages sur d'autres sites, donc en théorie, des pages
contenant toutes les en-têtes.
[ <title> absent ]
Le title est là, ainsi que les meta. Je les avais enlevés pour ne pas
alourdir le message.
Je peux te proposer une idée : tu continues d'éditer tes fichiers avec
le composeur de Mozilla, et tu les sauves dans un répertoire de travail.
Ensuite, tu passes une petite moulinette qui supprime le début de chaque
fichier qu'il trouve (début jusqu'à <body>) et sa fin (depuis </body>
jusqu'à la fin) avant de sauvegarder le résultat dans le répertoire réel
où il sera utilisé.
C'est ce que j'ai fait. Pour référence, la moulinette (en DOS) est:
find /v "<!DOCTYPE" <a.htm | find /v "head>" | find /v "body>" >a.php
Le hic est qu'il faudra la changer quand le composeur changera le
contenu des en-têtes.
Euh... tu veux dire que tu l'as testée avec Firefox et Opera, et que
ça marchait ? Mais as-tu essayé les quelques dizaines de navigateurs
récents qui existent, dont certains ne tournent que sur Windows,
d'autres que sur Mac, et d'autres sur des Unix exotiques ?
J'ai essayé avec Mozilla 1.7. Par contre, je sais que NN 4.75
plantait si une page n'avait pas de </body>. Il me semble que IE
plante s'il n'y a pas de <body> ou quelque chose comme cela. En
conséquence, je me dis que les <body>, <head> etc. en double ou
triple nuisent à certains navigateurs.
Si le PHP qui est tellement répandu aujourd'hui ne filtre pas ces
problèmes potentiels, je me disais que les navigateurs récents en
tiennent compte, mais il semble que je me sois trompé.
[...] Mais je suis tout de même surpris que le PHP n'[ait] pas
prévu le coup, surtout qu'il y a maintenant un include permettant
de prendre des pages sur d'autres sites, donc en théorie, des pages
contenant toutes les en-têtes.