IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Comment mentionner <? et ?> sans qu'ils soient interprétés ? [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut Comment mentionner <? et ?> sans qu'ils soient interprétés ?
    Bonjour à tous,
    J'ai besoin pour un script php qui fait du remplacement de donnée dans un fichier de mentionner <? et ?>
    Hors, à l'exécution ces balises sont interprétées.

    Quelque a t-il eu idée ?

    Merci par avance

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    désactive short_open_tags dans le php.ini (recommandé)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    Merci pour cette réponse mais si je fais ça, les autres balises du script, dont je souhaite qu'elles soient interprétées, risquent de ne plus l'être.
    Pour être plus précis, je souhaite transmettre, par un script A, une chaine du genre <? traduit($word);?> à un str_replace pour qu'il remplace cette chaine par sa valeur dans un fichier. Lorsque je lance mon script A, <? traduit($word);?> est interprété avant même d'être transmis à str_replace.
    C'est donc mon problème

  4. #4
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    Encode tes caractère speciaux avec htmlentities() et décode les apres si besoin avec html_entity_decode()

  5. #5
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Tu peux aussi utiliser la balise <code>
    Ou encore & l t ; ? et ? & g t ; (sans espaces)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 15
    Par défaut
    J'ai essayé avec & l t ; ? (sans les espace) mais cela à pour effet que ne soit pas trouvé <? dans le fichier, car dans ce cas str_replace recherche respectueusement cette chaine de caractère.
    J'ai aussi essayé "<"."?" et '<'.'?' mais là aussi, le code est interprété.
    Quant à la balise <code> elle ne règle rien non plus.

  7. #7
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Et avec ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $BufferIN = file_get_contents("monfichier.txt");
    $bufferOUT = str_replace('<?1258?>', "MOT1", $BufferIN);
    $bufferOUT = str_replace('<?1875?>', "MOT2", $BufferIN);
    Tout ce qui est entre guillemets en php est interprété... Entre simples quotes non

  8. #8
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Linaa
    Et avec ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $BufferIN = file_get_contents("monfichier.txt");
    $bufferOUT = str_replace('<?1258?>', "MOT1", $BufferIN);
    $bufferOUT = str_replace('<?1875?>', "MOT2", $BufferIN);
    Tout ce qui est entre guillemets en php est interprété... Entre simples quotes non
    Non, c'est pas tout à fait vrai... les variables sont évaluées, mais un ?> ne devrait pas être interprété comme une balise de fin, même entre double quotes.
    Calahaan, qu'est-ce qui te fait dire que ces balises sont "interprétées" ? Peux-tu préciser exactement le dysfonctionnement ?

    Si il y avait interprétation d'une balise de fin, il y aurait probablement une erreur générée.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [OL-2010] Comment "espacer" les messages reçus pour qu'ils soient plus visibles. ?
    Par jean du 86 dans le forum Outlook
    Réponses: 2
    Dernier message: 20/03/2015, 09h33
  2. Réponses: 19
    Dernier message: 28/01/2005, 09h52
  3. [WIFI] Comment bien configurer un reseau sans fil?
    Par Dnx dans le forum Développement
    Réponses: 1
    Dernier message: 19/01/2005, 08h50
  4. Comment dessiner sur un Bitmap sans scintillement ?
    Par TOTO32 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 10/01/2005, 10h11
  5. Comment mettre à jour une ligne sans doublon via déclencheur
    Par fuelcontact dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/08/2004, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo