Accueil > Forum > > > > Extraire des portions de textes d'un fichier
Extraire des portions de textes d'un fichier
jeudi 21 juillet 2011 à 23:04:43 |
Extraire des portions de textes d'un fichier

apz
|
Bonjour à tous,
J'ai un fichier texte sous la forme suivante :
Code : 1
Titre-1
texte.........
..............
Titre-2
texte.........
..............
.............
Titre-3
texte...........
2
Titre-1
texte.........
..............
Titre-2
texte.........
..............
.............
Titre-3
texte...........
3
Titre-1
texte.........
..............
Titre-2
texte.........
..............
.............
Titre-3
texte...........
....
Comment extraire, la partie n° 2, et scinder cette partie selon les titres avec leurs texte respectifs ?
Merci.
|
|
vendredi 22 juillet 2011 à 01:12:45 |
Re : Extraire des portions de textes d'un fichier

apz
|
J'ai essayé avec ce code, mais rien ne vient encore :
Code PHP : <?php
define('FICHIER', 'txt.txt');
//$d = date("d");
$d=2;
$existe = FALSE;
@$fp = fopen(FICHIER, 'r') or die('Ouverture en lecture de "' . FICHIER . '" impossible !');
while (!feof($fp) && !$existe) {
$ligne = fgets($fp, 1024);
if (trim($ligne)==$d)
{
// recuperer par exemple le texte entre le bloc 2 et le bloc 3
if (preg_match("$d([^$d+1]*)i", $fp, $resultat)) echo "resultat 1 = ".$resultat[1]."<br />";
$existe = TRUE;
}
}
fclose($fp);
?>
|
|
vendredi 22 juillet 2011 à 01:44:41 |
Re : Extraire des portions de textes d'un fichier

kohntark
|
Salut,
Il serait souhaitable d'en connaitre un peu plus sur le texte et ses caractéristiques (son formatage quoi)
Quelles sont les parties qui sont toujours identiques ?
Sur ce que tu donnes j'imagine que [titre-] est variable ?
... le mieux serait un exemple :)
Cordialement,
Kohntark -
|
|
vendredi 22 juillet 2011 à 20:58:01 |
Re : Extraire des portions de textes d'un fichier

apz
|
Bonsoir kohntark,
Voila un exemple identique.
Code : 1
[b]proverbe[/b]
Ex his quidam aeternitati se commendari posse per statuas aestimantes
eas ardenter adfectant quasi plus praemii de figmentis aereis sensu
carentibus adepturi, quam ex conscientia honeste recteque factorum,
easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo,
cum consiliis armisque regem superasset Antiochum. quam autem sit
pulchrum exigua haec spernentem et minima ad ascensus verae gloriae
tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato
monstravit. qui interrogatus quam ob rem inter multos... statuam non
haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam
quod est gravius cur inpetraverim mussitare.
[b]dicton[/b]
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum
amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo
fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens
(sic enim est habitus) et amicitiae gloria excellens de amicitia
loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum
putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani;
ab his sermo oritur, respondet Laelius, cuius tota disputatio est de
amicitia, quam legens te ipse cognosces.
[b]anecdote[/b]
Illud tamen te esse admonitum volo, primum ut qualis es talem te esse
omnes existiment ut, quantum a rerum turpitudine abes, tantum te a
verborum libertate seiungas; deinde ut ea in alterum ne dicas, quae cum
tibi falso responsa sint, erubescas. Quis est enim, cui via ista non
pateat, qui isti aetati atque etiam isti dignitati non possit quam velit
petulanter, etiamsi sine ulla suspicione, at non sine argumento male
dicere? Sed istarum partium culpa est eorum, qui te agere voluerunt;
laus pudoris tui, quod ea te invitum dicere videbamus, ingenii, quod
ornate politeque dixisti.
[b]idée[/b]
Has autem provincias, quas Orontes ambiens amnis imosque pedes Cassii
montis illius celsi praetermeans funditur in Parthenium mare, Gnaeus
Pompeius superato Tigrane regnis Armeniorum abstractas dicioni Romanae
coniunxit.
2
proverbe
Ex his quidam aeternitati se commendari posse per statuas aestimantes
eas ardenter adfectant quasi plus praemii de figmentis aereis sensu
carentibus adepturi, quam ex conscientia honeste recteque factorum,
easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo,
cum consiliis armisque regem superasset Antiochum. quam autem sit
pulchrum exigua haec spernentem et minima ad ascensus verae gloriae
tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato
monstravit. qui interrogatus quam ob rem inter multos... statuam non
haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam
quod est gravius cur inpetraverim mussitare.
dicton
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum
amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo
fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens
(sic enim est habitus) et amicitiae gloria excellens de amicitia
loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum
putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani;
ab his sermo oritur, respondet Laelius, cuius tota disputatio est de
amicitia, quam legens te ipse cognosces.
anecdote
Illud tamen te esse admonitum volo, primum ut qualis es talem te esse
omnes existiment ut, quantum a rerum turpitudine abes, tantum te a
verborum libertate seiungas; deinde ut ea in alterum ne dicas, quae cum
tibi falso responsa sint, erubescas. Quis est enim, cui via ista non
pateat, qui isti aetati atque etiam isti dignitati non possit quam velit
petulanter, etiamsi sine ulla suspicione, at non sine argumento male
dicere? Sed istarum partium culpa est eorum, qui te agere voluerunt;
laus pudoris tui, quod ea te invitum dicere videbamus, ingenii, quod
ornate politeque dixisti.
idée
Has autem provincias, quas Orontes ambiens amnis imosque pedes Cassii
montis illius celsi praetermeans funditur in Parthenium mare, Gnaeus
Pompeius superato Tigrane regnis Armeniorum abstractas dicioni Romanae
coniunxit.
3
proverbe
Ex his quidam aeternitati se commendari posse per statuas aestimantes
eas ardenter adfectant quasi plus praemii de figmentis aereis sensu
carentibus adepturi, quam ex conscientia honeste recteque factorum,
easque auro curant inbracteari, quod Acilio Glabrioni delatum est primo,
cum consiliis armisque regem superasset Antiochum. quam autem sit
pulchrum exigua haec spernentem et minima ad ascensus verae gloriae
tendere longos et arduos, ut memorat vates Ascraeus, Censorius Cato
monstravit. qui interrogatus quam ob rem inter multos... statuam non
haberet malo inquit ambigere bonos quam ob rem id non meruerim, quam
quod est gravius cur inpetraverim mussitare.
dicton
Sed ut tum ad senem senex de senectute, sic hoc libro ad amicum
amicissimus scripsi de amicitia. Tum est Cato locutus, quo erat nemo
fere senior temporibus illis, nemo prudentior; nunc Laelius et sapiens
(sic enim est habitus) et amicitiae gloria excellens de amicitia
loquetur. Tu velim a me animum parumper avertas, Laelium loqui ipsum
putes. C. Fannius et Q. Mucius ad socerum veniunt post mortem Africani;
ab his sermo oritur, respondet Laelius, cuius tota disputatio est de
amicitia, quam legens te ipse cognosces.
anecdote
Illud tamen te esse admonitum volo, primum ut qualis es talem te esse
omnes existiment ut, quantum a rerum turpitudine abes, tantum te a
verborum libertate seiungas; deinde ut ea in alterum ne dicas, quae cum
tibi falso responsa sint, erubescas. Quis est enim, cui via ista non
pateat, qui isti aetati atque etiam isti dignitati non possit quam velit
petulanter, etiamsi sine ulla suspicione, at non sine argumento male
dicere? Sed istarum partium culpa est eorum, qui te agere voluerunt;
laus pudoris tui, quod ea te invitum dicere videbamus, ingenii, quod
ornate politeque dixisti.
idée
Has autem provincias, quas Orontes ambiens amnis imosque pedes Cassii
montis illius celsi praetermeans funditur in Parthenium mare, Gnaeus
Pompeius superato Tigrane regnis Armeniorum abstractas dicioni Romanae
coniunxit.
4
....
5
....
6
....
|
|
samedi 23 juillet 2011 à 12:34:01 |
Re : Extraire des portions de textes d'un fichier

kohntark
|
Re,
Il faut toujours essayer de faire le plus simple possible, ce qui est paradoxalement le plus difficile, mais là ta regex l'est vraiment trop.
tu ne matcheras rien du tout avec ça
Code PHP :
<?php
$str = '[ton texte]';
$regex = '`^
(?<=\s{1})\d{1,2}\s
(?:\[b])?proverbe(?:\[/b])?\s
(?<proverbe>.*)
\s(?:\[b])?dicton(?:\[/b])?\s
(?<dicton>.*)
\s(?:\[b])?anecdote(?:\[/b])?\s
(?<anecdote>.*)
\s(?:\[b])?idée(?:\[/b])?\s
(?<idee>.*(?=\s\s|\Z))
`xsmuU';
preg_match_all($regex, $str, $a, PREG_SET_ORDER);
echo 'Voici le dicton du premier chapitre :<br />'.$a[0]['dicton'].'<br />
et là le proverbe du troisième :<br />'.$a[2]['proverbe'].'<br />
et l\'idée est la suivante<br />'.$a[2]['idee'];
?>
Je n'ai pas testé à 200% et des améliorations sont sans doute possibles.
Cordialement,
Kohntark -
|
|
dimanche 24 juillet 2011 à 13:48:01 |
Re : Extraire des portions de textes d'un fichier

apz
|
Non le BBCODE (Gras=[b ][ /b]) sont juste pour démontrer les sous-titres de chaque section qu'il faut extraire.
Même je l'ai enlever, mais ça ne donne rien
Code PHP : $regex = '`^
(?<=\s{1})\d{1,2}\s
(?:\)?proverbe(?:\)?\s
(?<proverbe>.*)
\s(?:\)?dicton(?:\)?\s
(?<dicton>.*)
\s(?:\)?anecdote(?:\)?\s
(?<anecdote>.*)
\s(?:\)?idée(?:\)?\s
(?<idee>.*(?=\s\s|\Z))
`xsmuU';
|
|
dimanche 24 juillet 2011 à 14:16:42 |
Re : Extraire des portions de textes d'un fichier

kohntark
|
La regex fonctionne parfaitement sur le texte que tu as donné, je l'ai testé.
Le code retourne un tableau de la forme :
array(
['premier chapitre, soit l'index 0']=>
array(
'proverbe'=>'texte du proverbe',
'dicton'=>'texte du dicton',
'anecdote'=> 'texte de l'anecdote',
'idee'=> 'texte de l'idée'
['second chapitre, soit l'index 1] => array(...)
[etc ...]
}
Si ça ne fonctionne pas chez toi avec le texte que tu fournis ici il se peut qu'il y ait des problèmes d'encodage. Tu peux dans ce cas essayer en virant l'option "u"
Dans les autres cas c'est que le texte sur lequel tu appliques la regex n'est pas structuré de la même façon que l'exemple que tu donnes.
L'idéal serait de voir le texte, sans aucune modification.
Non le BBCODE (Gras=[b ][ /b]) sont juste pour démontrer les sous-titres de chaque section qu'il faut extraire.
Si tu ne le précises pas il n'est pas possible de le deviner, surtout que le BBCode ne fonctionne pas à l'intérieur d'une balise [code]
Même je l'ai enlever, mais ça ne donne rien
La présence, ou non, des [b ][ /b] ne change de toute façon rien, il sont déjà optionnels.
Vu la manière dont tu les as supprimés c'est sur que ça ne risque pas de fonctionner, la regex elle même n'étant déjà plus valide (== plantage de preg_match_all())
Kohntark -
|
|
Cette discussion est classée dans : fichier, texte, titre, extraire, portions
Répondre à ce message
Sujets en rapport avec ce message
extraire une ligne d'un fichier texte [ par matthieugregoire ]
Bonjour à tous!!Je suis tout à fait novice dans l'usage de php et c'est pourquoi j'ai besoin que l'on me donne un petit coup de pouce. Je vous expose
Extraire des informations d'un fichier texte [ par med93100 ]
Bonjour la compagnie , Je tiens deja à vous dire que je suis débutant en PHP , donc mon prolbème est la , j'ai un texte avec plein de code html par e
extraire du texte d'un fichier pdf avec php [ par langagec08 ]
Bonjour tout le monde, j'aimerai s'il vous plait savoir comment peut on extraire du texte d'un fichier pdf avec php, j'ai beau chercher sur le net mai
comment afficher Le texte descriptif et le titre sur Google [ par elmeksaoui1 ]
Bonjour, j ai héberger un site web et je vaudrais afficher Le texte descriptif et le titre sur moteurs de recherche Google lorsqu'on fait une recher
problème d'affichage une fichier texte de la base [ par imeneiag ]
bonjour, j'ai un menu verticale ,qui affiche les données de la base de données. je veux quand je clic sur un sous menu ,j'affiche une page qui contie
probleme modification fichier texte [ par mageek06 ]
Bonjour, dans un formulaire j'aimerais dans une zone de texte éditer un fichier selon sa date. Le probleme est que lorsque je rentre la date (1502200
Extraire plusieurs lignes d'un fichier excel [ par Nihilithe ]
Bonjour, Je souhaite extraire plusieurs lignes d'un fichier excel de ce type : (Colonne A) (Colonne B sur excel) A01 Blabla1 B01
Recuperer donnée dans un fichier texte [ par smocky05 ]
Bonjour, Cela fait plusieurs heures que je recherche sans succes un code en php. Je crait un sondage avec photos pour un concours photo . avec d
Parcourir un fichier texte et insérer dans la base [ par ines_m ]
bjr, mon problème consiste à parcourir un fichier texte, y repérer les champs souhaités et les insérer dans la base. le fichier se présente comme suit
problème d'upload de fichier [ par lilj ]
bonjour, voila je ne comprend pas pourquoi mon browser affiche undefined index aprés avoir envoyé une fichier !! voici mon code : mon form : [code=htm
Livres en rapport
|
Derniers Blogs
JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|