Eliminer des exemples autour d'un caractère précis - PHP - Programmation
Marsh Posté le 23-10-2002 à 17:14:39
Une solution rapide qui me vient à l'esprit c'est : tu fais un explode() sur les \n puis tu trimes chaque token. En gros :
Code :
|
Marsh Posté le 23-10-2002 à 17:14:40
Pô compris... Tu veux ôter les retours à la ligne tout en les conservant pour que ce soit plus lisible?
Marsh Posté le 23-10-2002 à 17:15:55
un exemple (edit... oups trop tard ):
$string= explode('\n', $tring);
for ($i=0, $max=count($string); $i++){
$return_string.= trim($string[$i]);
}
un autre:
$string= str_replace(' ','',$string);
$string= str_replace('chr(10),'',$string);
Marsh Posté le 23-10-2002 à 17:20:35
Huhu Copain, ethernal
Marsh Posté le 23-10-2002 à 17:45:16
Toucouch a écrit a écrit : Pô compris... Tu veux ôter les retours à la ligne tout en les conservant pour que ce soit plus lisible? |
Je veux les garder au niveau du modèle mais ne plus les avoir au niveau du navigateur.
Ainsi, en mode normal, la récupération des pages est moins longues ce qui joue quand on a un simple modem et en mode débuguage d'un modèle je pourais toujours avoir la page avec tout les espaces (effacement ou non effacement des espaces en fonction d'une variable) pour avoir une présentation du code résultat facile à lire.
taiche > Ca m'a l'air une très bonne idée ça, j'avais pas pensé à utiliser la fonction exclude.
ethernal > Le second exemple marchera pas, j'obtiendrais
Code :
|
J'ai mis en gras, la partie qui poserait problème (je penses que la balise BODYbgcolor ne serait pas compris comme il faut par un navigateur)
Bon, après lecture des trois proposition, je vais utiliser la première d'ethernal vu qu'elle marche surement très bien et qu'elle est pas limité à php4.
Marsh Posté le 23-10-2002 à 21:13:45
un truc que je comprends pas :
comment ça se fait que tu travailles avec des templates et que tu as un $mod_page="html blabla";
c'est après chargement du template ?
ou bien ce sont tes templates?
Marsh Posté le 23-10-2002 à 23:31:36
ethernal a écrit a écrit : un truc que je comprends pas : comment ça se fait que tu travailles avec des templates et que tu as un $mod_page="html blabla"; c'est après chargement du template ? ou bien ce sont tes templates? |
C'est après chargement du template.
Comme je trouvais le traitement trop long, j'ai modifié le système pour sauter l'étape de chargement/prétraitement du modèle en incluant directement les variables avec les bonnes valeurs dans le source.
Mais bon, ca reste quand même un système de template (pour ce que j'ai compris aux templates. )
Marsh Posté le 23-10-2002 à 23:48:32
ok merci pour la petite explication
Marsh Posté le 23-10-2002 à 17:08:09
Pour mon site, j'utilises un système de template qui lit un fichier contenant un modèle d'affichage.
Je découpes ensuite ce modèle en plusieurs partis distinctes que je mets dans plusieurs variables.
Le problème, c'est que dans plusieurs de ces variables, je me retrouves avec un grand nombre d'espaces qui n'auront aucune incidence dans l'affichage final. Je voudrais donc les éliminé.
Par exemple, voilà une des variables que j'obtiens après la division du fichier en plusieurs parties :
Ce que je voudrais obtenir, c'est
$mod_page="<HTML><HEAD><#REFRESH></HEAD><BODY bgcolor=\"#336698\" link=\"#2222FF\" vlink=\"#2222FF\"><CENTER><#ZONE1></CENTER></BODY></HTML>";
Bref, je voudrais éliminer les retours à la ligne et les espaces qui les entourent sans pour autant les enlever du modèle de départ (plus facile à débuguer un nouveau modèle quand on a une présentation hiérarchique).
Merci d'avance.
PS : L'exemple que j'ai utilisé la provient d'un des fichiers .php3 créé automatiquement a partir d'un des modèles pour remplacer une lecture de fichier + traitement par un include.