Bonjour,
je veux faire un programme en PHP qui permet d'extraire du texte brut à partir des articles mis en ligne.
et merci d'avance.
Bonjour,
je veux faire un programme en PHP qui permet d'extraire du texte brut à partir des articles mis en ligne.
et merci d'avance.
Facile !
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 function html2txt($html){ $search = array('@<script[^>]*?>.*?</script>@si', '@<style[^>]*?>.*?</style>@siU', '@<[\/\!]*?[^<>]*?>@si', '@<![\s\S]*?--[ \t\n\r]*>@' ); $clean = preg_replace($search, '', $html); return $clean; } $articles = array( 'http://google.fr' ); foreach($articles as $article){ $html = file_get_contents($article); $text = html2txt($html); printf('<div>%s</div>', $text); }
encore plus facile : strip_tags
J'ai trouvé cette solution avec curl
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 function recuperer_page_http($url, $timeout = 10, $nom_local = '', $post = NULL) { if (extension_loaded('curl')) { $ch = curl_init($url); // configuration des options curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_PROXY, "insérer le proxy"); -- optionnel curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); /*On indique à curl de suivre les redirections par le header http location*/ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); if ($nom_local) { $fp = fopen($nom_local, 'w') or die("Le fichier '$nom_local' n'a pu être ouvert en écriture"); curl_setopt($ch, CURLOPT_FILE, $fp); } else { curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); } if ($post) { curl_setopt($ch, CURLOPT_POST, TRUE); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); } $ret = curl_exec($ch); if ($nom_local) { fclose($fp); } if ($ret === FALSE) { die("Une erreur a été rencontrée : " . curl_error($ch)); } curl_close($ch); return $ret; } else { die("Erreur lors de l'utilisation de la biblio CURL"); } }
![]()
![]()
bien joué t'as recrée la fonction copy ...
strip_tags a des comportements bizzares desfois (lorsque le HTML est invalide par exemple) : http://fr.php.net/manual/fr/function...ags.php#100995
Je préfère une solution simple qui supprime les tags et laisse le texte.
Partager