Commit a81a01c2 authored by Clement GAUDUCHEAU's avatar Clement GAUDUCHEAU
Browse files

extraireCitation presque fini

parent 7af27d58
<html lang="fr">
<head>
<meta charset="utf-8"/>
<title>Test</title>
</head>
<body>
</body>
</html>
<?php
function suppr_accents($str, $encoding='utf-8')
{
// transformer les caractères accentués en entités HTML
$str = htmlentities($str, ENT_NOQUOTES, $encoding);
// remplacer les entités HTML pour avoir juste le premier caractères non accentués
// Exemple : "&ecute;" => "e", "&Ecute;" => "E", "à" => "a" ...
$str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\1', $str);
// Remplacer les ligatures
// Exemple "œ" => "oe"
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str);
// Supprimer tout le reste
$str = preg_replace('#&[^;]+;#', '', $str);
return $str;
}
$fichier="../../data/testCitations.txt";
$handle=fopen($fichier,"r");
$content=fread($handle,filesize($fichier));
$split=explode("\n",$content); //on separe pour chaque saut de ligne
$i=0;
$citation=""; //string pour récupérer la citation
$matrice = array(); //matrice qui pour chaque ligne va contenir le nom de l'auteur - la source - la date - la citation
$colonneMatrice=0;
$ligneMatrice =-1;
$celuiAvantAuteur=true; //variable pour voir si la ligne précédente correspond a un auteur.
foreach ($split as $motCourant){
if(stristr($split[$i],'—')){ //on sait que cest la ligne de l'auteur
if($citation != ""){
$colonneMatrice=3;
$matrice[$ligneMatrice][$colonneMatrice]=$citation;
}
$colonneMatrice=0;
$string1 = stristr($split[$i], '—'); //ne recupere que la ligne ou il y a —
//echo $string1; //affiche lorsque ce nest pas séparé
$split1= explode(",",$string1); //separe la ligne au niveau des virgules
$j=0;
foreach($split1 as $motCourant){ //affichage avec la séparation au niveau des virgules.
if($j==0){ // si cest l'auteur alors on enleve les accents et on met en majuscules
$split1[$j] = strtoupper(suppr_accents($split1[$j]));
$matrice[$ligneMatrice][$colonneMatrice] = $split1[$j];
//echo $matrice[$ligneMatrice][$colonneMatrice];
$colonneMatrice++;
}
else{ // sinon affichage normal
$matrice[$ligneMatrice][$colonneMatrice] = $split1[$j];
//echo $matrice[$ligneMatrice][$colonneMatrice];
$colonneMatrice++;
}
$j++;
}
$celuiAvantAuteur=true;
}
else{
if($celuiAvantAuteur==true){
//echo $citation;
$ligneMatrice++; //on augmente la ligne de la matrice car avant on avait un auteur donc cest une nvelle citation et un nouvel auteur qu on va mettre.
$citation="";
$citation = $split[$i];
}
else{
$citation.=" ".$split[$i];
}
$celuiAvantAuteur=false;
}
/*
?>
</br>
<?php
*/
$i++;
}
/*echo $ligneMatrice." et col ";
echo $colonneMatrice;
*/
for($k=0; $k<$ligneMatrice; $k++){
for($t=0; $t<$colonneMatrice; $t++){
echo $matrice[$k][$t];
}
?>
</br>
</br>
<?php
}
?>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment