Newsgroups
2007-02-11 23:24:35 UTC
bonjour,
je souhaite faire une chose relativement simple.. mais je tombe sur un
os !
En fait, je veux (simplement) remplacer la chaine suivante :
<?xml version="1.0" encoding="utf-8"?>
par celle ci :
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type=\"text/xsl\" href=\"".$xsl."\" media=\"screen\"?>
(avec 1.0 et utf-8 qui sont variables)
Donc, j'ai fais comme ceci :
$contents = preg_replace("/<?xml version=\"(.*?)\" encoding\"(.*?)\"?>/i", "<?xml version=\"$1\" encoding=\"$2
\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"".$xsl."\" media\"screen\"?>", $contents);
Mais le résultat est le suivant :
<?<?xml version="1.0" encoding="UTF-8" ?"?>
<?xml-stylesheet type="text/xsl" href="ma variable $xsl" media="screen"?>
Donc le probleme est au niveau de la première ligne, où il me rajoute 2 fois <? et 2 fois ?>
Je pensais que ce probleme venait des ? de ma regexp, car ce sont des caractères spéciaux, mais il ne match plus la regexp si le les échappe.
Je veux bien un coup de main svp. :-)
je souhaite faire une chose relativement simple.. mais je tombe sur un
os !
En fait, je veux (simplement) remplacer la chaine suivante :
<?xml version="1.0" encoding="utf-8"?>
par celle ci :
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type=\"text/xsl\" href=\"".$xsl."\" media=\"screen\"?>
(avec 1.0 et utf-8 qui sont variables)
Donc, j'ai fais comme ceci :
$contents = preg_replace("/<?xml version=\"(.*?)\" encoding\"(.*?)\"?>/i", "<?xml version=\"$1\" encoding=\"$2
\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"".$xsl."\" media\"screen\"?>", $contents);
Mais le résultat est le suivant :
<?<?xml version="1.0" encoding="UTF-8" ?"?>
<?xml-stylesheet type="text/xsl" href="ma variable $xsl" media="screen"?>
Donc le probleme est au niveau de la première ligne, où il me rajoute 2 fois <? et 2 fois ?>
Je pensais que ce probleme venait des ? de ma regexp, car ce sont des caractères spéciaux, mais il ne match plus la regexp si le les échappe.
Je veux bien un coup de main svp. :-)