Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1595 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  supprimer un bout de code lors d'une inclusion

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

supprimer un bout de code lors d'une inclusion

n°1691088
aloade
Posté le 22-02-2008 à 23:17:33  profilanswer
 

Bonjour,
 
j'ai deux pages php, la mienne et une autre externe, je souhaite inclure la page externe dans ma page via la fonction include(), pour eviter que la page une fois compilé ne possede des declaration en double (DOCTYPE style head etc) je souhaite supprimer au vol dans la page incluse avec la fonction preg_replace.
mais quand je tape mon code rien n'est modifié la page compilé affiche tout :(
 
voici ce que j'ai mis dans ma page:

Code :
  1. modif("adresse de la page a inclure" );


 
dont voici la fonction:  

Code :
  1. function modif($loc) {
  2. ob_start();
  3. include $loc;
  4. $chaine = ob_get_contents() ;
  5. ob_end_clean();
  6. $suppr = array( "/style/" , "/\/style/" ) ; << j'ai change souvent ici
  7. $chaine = preg_replace($suppr,'',$chaine);
  8. return $chaine;
  9. }
  10. ?>


 
je precise que le bout de  code que je veu supprimer c'est de "<!DOCTYPE" à "</style>" compris
 
est ce quelqu'un aurait une idee ? ^^ car je suis dans la mouise :p
j'ai essaye pas mal de chose avec les expression regulière sans succes, la seule chose positive c'est que le bout de code inclue s'affiche integralement ^^

mood
Publicité
Posté le 22-02-2008 à 23:17:33  profilanswer
 

n°1691122
bricocoman
j'aime les modos
Posté le 23-02-2008 à 00:13:36  profilanswer
 

inclure une page externe, c'est la porte ouverte au piratage.
Imagine quelqu'un de mal intentionné qui fait un include sur une page externe de son choix et qui contient du code malicieux, tu seras vraiment dans la mouise  ;)

n°1691244
aloade
Posté le 23-02-2008 à 14:30:51  profilanswer
 

vivi je sais mais c'est la le soucis ^^ je fais ca avec des pages qui sont sur plusieurs domaine m'appartenant :) et la page que j'inclue dois etre egalement autonome ^^
 
sinon pas d'idee ? :) je sens que le soucis c'est les expressions reguliere mais au vu de ce qui traine sur le net je trouve pas d'explicatif clair (celui de php.net ne fonction pas par exemple si je tape

Code :
  1. $suppr = ( "<!DOCTYPE(.*)</style>" );

ca marche pas :)
 
ca a l'air plustot quelque chose chose comme

Code :
  1. "/\<!DOCTYPE(.+*)\<\/style\>/"

mais ca non plus ne marche pas ^^


Message édité par aloade le 23-02-2008 à 14:32:11
n°1691286
dwogsi
Défaillance cérébrale...
Posté le 23-02-2008 à 16:47:23  profilanswer
 

Le . ne match par les retours à la ligne par défaut.
http://fr.php.net/manual/fr/refere [...] ifiers.php
 
Et comme ça je dirais qu'il ne faut conserver que ce qui se trouve entre les balise <body> et </body>.


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1691351
aloade
Posté le 23-02-2008 à 19:36:09  profilanswer
 

ah merci pour la page je vais la garder dans un coin :) dans la meme idee tu aurai pas une page parlant des expressions regulieres ? (compatible avea preg_replace bien entendu ^^)

 

sinon j'ai reussi a faire fonctionner le truc en tapant

Code :
  1. $chaine = preg_replace("(<!DOCTYPE(.+?)</style> )is" , '' , $chaine );
 

vu que ca marche je vais en profiter pour virer plusieurs elements en simultané, comment je dois m'y prendre pour faire ca ? :p


Message édité par aloade le 23-02-2008 à 19:36:43
n°1691415
dwogsi
Défaillance cérébrale...
Posté le 24-02-2008 à 00:34:49  profilanswer
 

Bah... Syntaxe des masques selon la doc PHP :
http://fr.php.net/manual/fr/refere [...] syntax.php
Calqué sur le modèle perl si mes souvenirs sont bons.
 
Sinon en français ya pas mal d'infos sur les regex ici :
http://www.expreg.com/
 
Après ya google....


---------------
-- Debian -- Le système d'exploitation universel | Le gras c'est la vie! | /(bb|[^b]{2})/
n°1691428
leflos5
On est ou on est pas :)
Posté le 24-02-2008 à 01:49:30  profilanswer
 

Et c'est là que d'utiliser un point d'entrée unique et éventuellement un framework identique faciliterait les choses ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  supprimer un bout de code lors d'une inclusion

 

Sujets relatifs
Code HTML différent selon l'heureAttribut "code", validité W3C
regex : supprimer les caractères répetésProblème avec bout de codes
Problème code erreur PHP[PHP-Eclipse] code templates ?
Code CSS interprété différement par IE et les autres...Ameioration code, de saisi d'un fomulair et insertion des une table
Code php pour url rewriting : est ce la meilleur solution 
Plus de sujets relatifs à : supprimer un bout de code lors d'une inclusion


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR