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

EDI, CMS, Outils, Scripts et API PHP Discussion :

parser PHP


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut parser PHP
    Bonjour

    Apres avoir tenté ma chance dans le forum delphi j'essaie ici.
    J'ai un fichier HTML de la forme suivante (dsl je le mets avec les balises html, en annexe le texte sans balises, c'est plus clair) :


    [quote]<p align=center style='text-align:center'><b><span style='font-size:7.5pt;
    color:#336699'>
    Article L1110-1</span></b></p>

    <p class=MsoNormal align=center style='text-align:center'><i>(inséré par Loi nº
    2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)</i></p>

    <p class=MsoNormal style='margin-bottom:12.0pt'><br>
    &nbsp;&nbsp;&nbsp;Le droit fondamental à la protection de la santé doit être
    mis en oeuvre par tous moyens disponibles au bénéfice de toute personne. Les
    professionnels, les établissements et réseaux de santé, les organismes
    d'assurance maladie ou tous autres organismes participant à la prévention et
    aux soins, et les autorités sanitaires contribuent, avec les usagers, à
    développer la prévention, garantir l'égal accès de chaque personne aux soins
    nécessités par son état de santé et assurer la continuité des soins et la
    meilleure sécurité sanitaire possible.<br style='mso-special-character:line-break'>
    <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
    <![endif]></p>
    <p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

    <p align=center style='text-align:center'><b><span style='font-size:7.5pt;
    color:#336699'>
    Article L1110-2</span></b></p>

    <p class=MsoNormal align=center style='text-align:center'><i>
    (inséré par Loi nº
    2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)</i></p>

    <p class=MsoNormal style='margin-bottom:12.0pt'><br>
    &nbsp;&nbsp;&nbsp;La personne malade a droit au respect de sa dignité.<br
    style='mso-special-character:line-break'>
    <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
    <![endif]></p>

    <p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>

    <p align=center style='text-align:center'><b><span style='font-size:7.5pt;
    color:#336699'>
    Article L1110-3</span></b></p>

    <p class=MsoNormal align=center style='text-align:center'><i>
    (inséré par Loi nº
    2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)</i></p>

    <p class=MsoNormal style='margin-bottom:12.0pt'><br>
    &nbsp;&nbsp;&nbsp;Aucune personne ne peut faire l'objet de discriminations dans
    l'accès à la prévention ou aux soins.Reference a Article L1110-2<br style='mso-special-character:line-break'>
    <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
    <![endif]></p>[/quote]


    et je veux le découper en autant de fichiers TEXTE que d'articles (ici 3 fichiers), contenant chacun le corps de l'article.

    Connaissez vous un bon parser ecrit en PHP qui pourrait me faire ça?

    Merci pour vos réponses.
    Bonne journée.
    thomas.

    Annexe : le fichier html sans les balises:

    Article L1110-1

    (inséré par Loi nº 2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)

    Le droit fondamental à la protection de la santé doit être mis en oeuvre par tous moyens disponibles au bénéfice de toute personne. Les professionnels, les établissements et réseaux de santé, les organismes d'assurance maladie ou tous autres organismes participant à la prévention et aux soins, et les autorités sanitaires contribuent, avec les usagers, à développer la prévention, garantir l'égal accès de chaque personne aux soins nécessités par son état de santé et assurer la continuité des soins et la meilleure sécurité sanitaire possible.

    Article L1110-2

    (inséré par Loi nº 2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)

    La personne malade a droit au respect de sa dignité.

    Article L1110-3

    (inséré par Loi nº 2002-303 du 4 mars 2002 art. 3 Journal Officiel du 5 mars 2002)

    Aucune personne ne peut faire l'objet de discriminations dans l'accès à la prévention ou aux soins.Reference a Article L1110-2

  2. #2
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    A toi de trouver le séparateur d'article. Pourquoi pas line-break ?

  3. #3
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    je peux trouver un separateur d'article oui.

    un probleme que j'ai est qu'il peut y avoir deux articles avec la meme reference. Par exemple deux article qui s'appellent : L1111-1.
    Dans ce cas là , php doit creer deux fichiers : L1111-1A.txt et L1111-1B.txt.
    Là je coince...........

  4. #4
    Membre éprouvé Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Points : 1 080
    Points
    1 080
    Par défaut
    Je comprend pas ce que tu veux faire, parser un fichier ou parser un fichier PHP?

  5. #5
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    j'ai un fichier avec du texte (des articles de loi) et avec PHP je veux le parser pour le decouper en autant de fichiers qui contiendront un article chacun et son texte.

  6. #6
    Rédacteur
    Avatar de marcha
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    1 571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 571
    Points : 2 351
    Points
    2 351
    Par défaut
    Salut,

    Voici peut-être un début de solution, si j'ai bien compris, tu as en entrée
    ton fichier texte sans les balises ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?
    	define('MARKER', 'Article ');
     
    	function writeArticle($article_id, $buffer) {
    		echo "<h1>$article_id</h1>";
    		echo implode('<br>', $buffer);
    	}
     
    	$buffer = array();
    	$fh = fopen('articles.txt', 'r');
    	while(!feof($fh)) {
    		$ligne = fgets($fh, 4096);
    		if(strncmp($ligne, MARKER, strlen(MARKER))==0) {
    			if($article_id) writeArticle($article_id, $buffer);
    			$article_id = substr($ligne, strlen(MARKER));
    			$buffer = array();
    		}
    		else $buffer[] = $ligne;
    	}
    	if($article_id) writeArticle($article_id, $buffer);
    	fclose($fh);	
    ?>
    Si ton code fait plus d'une ligne, c'est que tu as mal choisi ton langage !

  7. #7
    Membre habitué

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 639
    Points : 167
    Points
    167
    Par défaut
    merci,

    en entrée j'ai le fichier avec les balises contenant :
    Article 1 : texte de l'article
    Article 2 : texte de l'article
    Article 3 : texte de l'article
    et en sortie je dois avoir trois fichier texte (sans balise):
    article1.txt contenant texte de l'article
    article2.txt contenant texte de l'article
    article3.txt contenant texte de l'article

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

Discussions similaires

  1. Parser PHP arbre phylogénétique type Newick
    Par fourmizen dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 45
    Dernier message: 26/07/2012, 03h08
  2. [RegExp] Parser les balises PHP
    Par ePoX dans le forum Langage
    Réponses: 6
    Dernier message: 19/02/2006, 18h34
  3. [PHP] parser puis integrer dans une BDD
    Par s3r3nity dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 20/12/2005, 15h33
  4. [XML] [EXPAT] Parser XML avec PHP
    Par glsn dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 20/12/2005, 12h29
  5. [Système] Existe-t-il un bon parser HTML pour PHP ?
    Par MiJack dans le forum Langage
    Réponses: 8
    Dernier message: 25/10/2005, 11h18

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