PHP et les parseur SGML [Résolu]

LePueblo 3 Messages postés vendredi 3 octobre 2008Date d'inscription 7 octobre 2008 Dernière intervention - 6 oct. 2008 à 16:15 - Dernière réponse : LePueblo 3 Messages postés vendredi 3 octobre 2008Date d'inscription 7 octobre 2008 Dernière intervention
- 7 oct. 2008 à 10:02
Bonjour!

Je cherche à décomposer un fichier SGML en langage PHP. Mon problème est le suivant:

- php ne semble pas reconnaitre les charactères qui correspondent aux balises: "<" et ">".
En effet, lorsque je fais:

<?php
$montexte="B";
echo $montexte;
?>

Mon navigateur (je travaille avec EASYPHP) m'affiche uniquement:

B

- les fonctions prévues pour parser du XML (les arbres DOM, les parseurs etc...) ne fonctionnent pas, car le SGML n'a pas forcement les valeurs de ses attributs entre guillemets.

Si vous avez des suggestions, n'hésitez pas, je suis assez désespéré....
Merci d'avance!
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
LePueblo 3 Messages postés vendredi 3 octobre 2008Date d'inscription 7 octobre 2008 Dernière intervention - 7 oct. 2008 à 10:02
3
Merci
Re bonjour, après essais ça passe toujours par le html si on utilise printf, print ou sprintf.
Par contre si on transforme le SGML en XML on peut utiliser finalemetn tous les arbres DOM et autres solutions plus que pratiques.

Pour cela il faut opérer des changement sur le texte SGML:
- ouvrir le fichier en question (fopen)
- le lire (fread)
- opérer un preg_replace sur le contenu pour le faire devenir du XML. En particulier pour les attributs des balises qui sont écrits comme ceci en SGML:
pour qu'ils soient comme en XML, comme ceci:

Voici le preg_replace que j'ai opéré, il prend vérifie tout de même si certaines valeurs ne sont pas déjà entre guillemets (ce qui est le cas dans mon malheureux fichier):
$test=preg_replace('`=(([^" >])+)[ >]`','="$1" ' ,$test);

N'hésitez pas à me contacter si vous avez le même problème que moi!

Merci LePueblo 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 68 internautes ce mois-ci

Commenter la réponse de LePueblo
coucou747 12336 Messages postés mardi 10 février 2004Date d'inscription 30 juillet 2012 Dernière intervention - 6 oct. 2008 à 17:51
0
Merci
salut

ton premier probleme n'a aucun rapport avec le php... php envoie du html a ton navigateur, et une balise qui n'a ni href ni name, ce n'est pas une balise a, donc ca t'affiche uniquement le texte, c'est normal...

bon, ensuite, tu peux chercher des parseurs plus "ouverts" genre tidi (qui accepte le html)
Commenter la réponse de coucou747
LePueblo 3 Messages postés vendredi 3 octobre 2008Date d'inscription 7 octobre 2008 Dernière intervention - 7 oct. 2008 à 08:00
0
Merci
Okay merci, je m'en doutais, mais je ne sais toujours pas comment contourner ça. Je vais essayer de voir avec un printf ce que ça donne.
Le soucis, c'est que si je veux distribuer mon appli, chaque personne devraavoir tidi, non?
Commenter la réponse de LePueblo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.